我有一个内置两个默认项目的解决方案(VisualBasic控制台应用程序):
Solution1\
Solution1.sln
ConsoleApplication1\ConsoleApplication1.vbproj
ConsoleApplication2\ConsoleApplication2.vbproj
我已向ConsoleApplication1添加了自定义目标:
...
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<Target Name="HelloWorld">
<Message Text="Hello Build!"></Message>
</Target>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
...
</Project>
我想设置一个脚本来执行两个项目的正常构建,然后调用我的自定义目标。
根据:http://msdn.microsoft.com/en-us/library/ms171486.aspx,我应该可以使用以下命令调用特定目标(暂时忽略项目的初始构建):
msbuild C:\Path\To\Solution1\Solution1.sln /t:ConsoleApplication1:HelloWorld
相反,我收到以下错误消息:
错误MSB4057:项目中不存在目标“ConsoleApplication1:HelloWorld”。 [E:\路径\至\解决方法1 \ Solution1.sln]
我认为我的语法不正确,完成此操作的语法是什么?
以下命令按预期工作:
msbuild C:\Path\To\Solution1\Solution1.sln
msbuild C:\Path\To\Solution1\ConsoleApplication1\ConsoleApplication1.vbproj /t:HelloWorld
答案 0 :(得分:0)
您是否考虑过将自定义目标操作添加到所需msbuild proj文件中的AfterBuild目标?这是一种不同的方法,但不需要显式调用自定义目标,仍然是项目文件特定的。