Visual studio 2008 Visual Studio中的多个预生成事件?
我已经关注了斯科特·汉斯曼的一篇博客文章,并使其运行良好Visual studio 2008 Visual Studio中的多个预生成事件?,visual-studio-2008,msbuild,prebuild,Visual Studio 2008,Msbuild,Prebuild,我已经关注了斯科特·汉斯曼的一篇博客文章,并使其运行良好 现在我想将配置拆分成几个不同的文件,因此需要在构建之前再次执行该命令。问题是预构建事件文本all作为一个控制台命令执行。如何将其拆分为多个命令?您应该能够将这些命令放在单独的一行上,然后每个命令将按顺序执行。或者,做同样事情的“骗子”方法如下: 创建运行新功能所需部分的第二个批处理文件,然后创建运行两个组件批处理文件的父批处理,并在预生成事件中运行该新批处理。例如:batch1.bat修改文件1,batch2.bat修改文件2,然后ba
现在我想将配置拆分成几个不同的文件,因此需要在构建之前再次执行该命令。问题是预构建事件文本all作为一个控制台命令执行。如何将其拆分为多个命令?您应该能够将这些命令放在单独的一行上,然后每个命令将按顺序执行。或者,做同样事情的“骗子”方法如下:
- 创建运行新功能所需部分的第二个批处理文件,然后创建运行两个组件批处理文件的父批处理,并在预生成事件中运行该新批处理。例如:batch1.bat修改文件1,batch2.bat修改文件2,然后batch3.bat同时运行batch1.bat和batch2.bat
call
命令。只要您不想使用不同的参数多次执行.bat
文件,就可以了
这:
对我来说效果很好。我正在Windows 7 64位上使用Visual Studio 2010 我找到了一个更适合我的解决方案,我将命令与
和&^
链接在一起,例如,编辑我的.vcxprojxml文件,如下所示:
<PreBuildEvent>
<Command>echo "hello 1" && ^
echo "hello 2" && ^
echo "hello 3"</Command>
<Message>Performaing pre-build actions ...</Message>
</PreBuildEvent>
copy命令上的>nul
用法防止任何输出显示在构建窗口中,因此当它说复制了0个文件时,我的队友不会感到惊慌失措。
在子项目之间共享预编译标题的参考信息如下:
它们在不同的行上,但它们似乎是作为一个整体执行的。我曾考虑过使用bat文件的方法,但它似乎是一种变通方法,而不是一种解决方案。奇怪。我会提供其他建议(比如添加分号作为分隔符),但我只会抓住救命稻草。很抱歉在VS2008中,将多个CMD文件放在单独的行上不起作用。VS只调用了构建时的第一个脚本。我在每一行前面都添加了CALL,然后一切都正常了。为什么你会问这些
CALL
命令?看见
<PreBuildEvent>
<Command>echo "hello 1" && ^
echo "hello 2" && ^
echo "hello 3"</Command>
<Message>Performaing pre-build actions ...</Message>
</PreBuildEvent>
<PreBuildEvent>
<Command>C:\Python27\python.exe "$(SolutionDir)check_path.py" 32 && ^
copy "$(SolutionDir)h1ksim_lib\vc$(PlatformToolsetVersion).pdb" "$(IntDir)" /-Y > nul</Command>
<Message>Performaing pre-build actions ...</Message>
</PreBuildEvent>