Вызов файлов пакета / скрипта из файлов проекта VC6 / VC2005 / VC2008 - PullRequest
1 голос
/ 17 октября 2008

Есть ли способ вызвать внешний сценарий или командный файл из файлов проекта VC6 (и более поздних версий)?

У меня есть фоновый процесс, который мне нужно убить, прежде чем пытаться создавать определенные проекты (DLLS, исполняемые файлы), и я не нашел способа успешно сделать это из самого проекта. Я хотел бы просто вызвать командный файл с командой taskkill.

(Да, я мог бы запустить командный файл из командной строки перед сборкой проектов, но я не всегда помню, как сделать это автоматически, что было бы более удобным и менее раздражающим для всей команды разработчиков.)

Ответы [ 3 ]

1 голос
/ 17 октября 2008

Вы можете создать служебный проект (тип конфигурации: Утилита на страницах свойств проекта), который имеет событие после сборки. Затем вы вызываете пакетный файл из этого события после сборки. Если я правильно помню, настройка утилиты появилась в VS2005. Но я верю, что того же можно достичь с помощью другого типа конфигурации на VC6.

Вот пример настройки (это текст свойства командной строки события после сборки):

set solutionDir=$(SolutionDir)
set platformName=$(PlatformName)
set configurationName=$(ConfigurationName)

call $(SolutionDir)PostBuild.bat

Как видите, вы можете гибко настраивать пакетную среду на основе макросов VisualStudio.

Если вы хотите, чтобы этот пакетный файл вызывался каждый раз при сборке, добавьте зависимость в требуемый проект (например, ваш основной исполняемый файл или проект dll). Вы можете добавить свой пакетный файл к элементам решения для удобного доступа (щелкните правой кнопкой мыши решение и выберите Добавить -> Существующий элемент ...).

Вы даже можете вызвать команду сборки в этом служебном проекте для принудительного выполнения командного файла.

На работе у нас есть аналогичная установка, чтобы запускать наши модульные тесты каждый раз, когда запускается сборка.

0 голосов
/ 17 октября 2008

По крайней мере для C # в Visual Studio 2008 вы можете открыть файл проекта и найти в нем следующий комментарий:

<!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
   Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->

Раскомментируйте тот, который лучше всего работает для вас, в данном случае пункт «BeforeBuild». Затем замените свой пакетный файл на тот, который у меня здесь:

<Target Name="BeforeBuild">
   <Exec Command="MyBatchFile.bat" />
</Target>

Это все, что нужно сделать; всякий раз, когда вы строите этот проект, это будет происходить каждый раз.

Тем не менее, я не знаю, работает ли это одинаково для VS 2005 или, особенно, для VC6. YMMV!

0 голосов
/ 17 октября 2008
...