При компиляции / отладке VS должен удалять существующие файлы в области bin \ debug? - PullRequest
5 голосов
/ 15 марта 2010

Q1 - Предполагается ли при выполнении компиляции / отладки VS удалять существующие файлы в области bin \ debug? (для VS2008)

если нет, то я могу спросить, пожалуйста:

Q2 - Моя winforms проверяет наличие файла sqlite.db3 и создает его, если это необходимо (программно). Если бы я хотел, чтобы каждое поведение, которое я выполняю при компиляции / отладке, было ясным для целевой области отладки, чтобы программа выполняла код, который создает файл базы данных, как бы я организовал это?

спасибо

Ответы [ 3 ]

2 голосов
/ 15 марта 2010

«Очистить» удаляет только файлы, которые Visual Studio явно копирует в целевой каталог (ваш исполняемый файл, зависимые библиотеки DLL и файлы, отмеченные соответствующими значениями «Копировать в выходной каталог»).

Вы можете создать задачу перед сборкой или после сборки, чтобы удалить рассматриваемый файл. Что-то вроде del $(TargetDir)\sqlite.db3. См. Вкладку «Build Events» в свойствах вашего проекта для этих событий.

2 голосов
/ 15 марта 2010

Просто добавьте событие PreBuild * 1002. *готов проглотить.Okie dokie!

  1. Щелкните правой кнопкой мыши на Project и выберите свойства
  2. Перейдите к

    a.Compile и нажмите кнопку Build Events, если проект VB

    b.Build Events вкладка, если это проект C #

  3. в типе pre-build event command line:

    IF EXIST "$(TargetDir)\sqlite.db3" DEL "$(TargetDir)\sqlite.db3"

Тодолжен это сделать.

В следующий раз, поиграть немного дольше ...

1 голос
/ 15 марта 2010

Есть события, которые вы можете запустить до, после сборки для каждого проекта. Итак, выберите первый / последний проект, который создается в зависимости от того, должно ли действие выполняться перед сборкой или после сборки (принудительно установите его в зависимости от любого другого проекта) и добавьте несколько пакетных сценариев, чтобы выполнить то, что вам нужно. Задачи MSBuild отлично подходят для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...