如何在Msbuild中调用第二个目标

Opt*_*mus 2 c# asp.net msbuild

我需要在msbuild中调用第二个目标但是当我在cmd中调用它时它显示错误我的代码在下面给出

MsBuild.csproj

<?xml version="1.0" encoding="utf-8" ?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <alen>123456</alen>
  </PropertyGroup>

  <Target Name="FirstTarget">
    <Message Text="Hello World $(alen)" />
  </Target>
  <Target Name="SecondTarget">
    <Message Text="The second target" />
  </Target>


</Project>
Run Code Online (Sandbox Code Playgroud)

第一个目标成功调用,但我无法加载第二个目标......怎么可能???

小智 7

我知道这是一篇非常旧的帖子,但您也可以让一个目标调用其他目标。

  <Target Name="Build">
    <CallTarget Targets="PreBuild"/>
    <CallTarget Targets="Main"/>
    <CallTarget Targets="AfterBuild"/>
  </Target>
Run Code Online (Sandbox Code Playgroud)


Mik*_*ray 6

由于您尚未定义它,因此默认目标是文件FirstTarget中的第一个目标.要从命令行调用第二个目标,您需要使用显式调用它/t:SecondTarget./t:FirstTarget;SecondTarget如果要同时运行,可以使用.

您还可以将SecondTarget定义为始终位于第一个目标之后.AfterTargets像这样使用属性:

  <Target Name="SecondTarget" AfterTargets="FirstTarget">
Run Code Online (Sandbox Code Playgroud)

现在msbuild msbuild.proj可以调用两个目标.