使用MSBuild在解决方案中构建目标

时间:2013-09-16 15:18:31

标签: msbuild

我有一个内置两个默认项目的解决方案(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

1 个答案:

答案 0 :(得分:0)

您是否考虑过将自定义目标操作添加到所需msbuild proj文件中的AfterBuild目标?这是一种不同的方法,但不需要显式调用自定义目标,仍然是项目文件特定的。