将自定义目标添加到.csproj文件

ley*_*eyh 2 msbuild csproj visual-studio

我想在.csproj文件中添加一个自定义目标。

自定义目标将是:

msbuild /t:assembleDebug

该目标将仅使用调试模式进行构建。

我已经尝试修改.csproj文件,但没有成功。

感谢您的回答。

Leo*_*SFT 6

该目标将仅使用调试模式进行构建。我已经尝试修改.csproj文件,但没有成功。

为此,请卸载您的项目。然后在项目的最后,在end-tag之前</Project>,放在脚本下面:

  <Target Name="assembleDebug" Condition=" '$(Configuration)' == 'Debug' ">

    <Message Text="This custom target will only be executed when configuration is debug" Importance="high"></Message>
  </Target>
Run Code Online (Sandbox Code Playgroud)

使用条件'$(Configuration)' == 'Debug'当配置为Debug

在此处输入图片说明

使用发布模式构建它时,将不会执行此自定义目标:

msbuild "CustomTarget.csproj" /p:Configuration=Release /t:build;assembleDebug
Run Code Online (Sandbox Code Playgroud)

更新评论:

我可以只打电话:msbuild / t:assembleDebug,此目标将执行与msbuild / p:Configuration = Debug相同的操作

/p:Configuration=Release用于覆盖Visual Studio上的默认配置,如果您只想调用:msbuild / t:assembleDebug,并且此目标将执行与msbuild / p:Configuration = Debug相同的操作,则应将默认配置设置为Debug,然后进行构建它与命令msbuild /t:assembleDebug

在此处输入图片说明

然后使用该命令行构建它:

在此处输入图片说明

希望这可以帮助。

  • @leyh,它不应该真正构建,它只是执行了自定义目标,因此您应该使用命令行`msbuild Epicture.csproj /t:build;assembleDebug`。你不想使用这个命令:`msbuild Epicture.csproj /t:build;assembleDebug`?如果是,您只需要使该自定义目标依赖于默认目标构建:`&lt;Target Name="assembleDebug" Condition=" '$(Configuration)' == 'Debug' " DependsOnTargets="Build"&gt;` (2认同)