2008-10-16 15 views
1

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

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

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

ответ

0

Вы можете использовать его с custom build step or a build event.

+0

Я не возражаю против -1, но я хотел бы знать, почему это плохая идея. (PS: Пожалуйста, не удаляйте этот комментарий еще раз) – 2008-10-17 00:06:39

0

По крайней мере, для 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

Я не смог найти ничего похожего на это в файле VC++ 2008 VC++ 2008. MMDV! – 2008-10-17 00:03:04

1

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

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

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

call $(SolutionDir)PostBuild.bat 

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

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

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

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