2

我有一个包含两个默认项目的解决方案(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:\Path\To\Solution1\Solution1.sln]

我想我的语法不正确,正确的语法是什么?

以下命令按预期工作:

msbuild C:\Path\To\Solution1\Solution1.sln
msbuild C:\Path\To\Solution1\ConsoleApplication1\ConsoleApplication1.vbproj /t:HelloWorld
4

1 回答 1

0

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

于 2013-09-16T16:05:10.803 回答