1
我有内部的两个默认项目的解决方案(VisualBasic中控制台应用程序)溶液内的目标:建筑使用的MSBuild
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:\ Path \ To \ Solution1 \ Solution1.sln]
我认为我的语法不正确,正确的语法是什么来实现这个目标?
以下命令按预期工作:
msbuild C:\Path\To\Solution1\Solution1.sln
msbuild C:\Path\To\Solution1\ConsoleApplication1\ConsoleApplication1.vbproj /t:HelloWorld
这绝对是一个有效的解决方法,如果我无法找到发布的代码片段无法正常工作的适时原因,我会采用(或将.sln.metaproj重写为.proj)。 – user1112560