【发布时间】:2018-02-06 16:43:57
【问题描述】:
我想在我的 .csproj 文件中添加一个自定义目标。
自定义目标将是:
msbuild /t:assembleDebug
这个目标只会在调试模式下构建。
我已经尝试修改.csproj文件但没有成功。
感谢您的回答。
【问题讨论】:
-
也许显示您尝试过的内容?否则,这是一个相当广泛的问题。
标签: visual-studio msbuild csproj
我想在我的 .csproj 文件中添加一个自定义目标。
自定义目标将是:
msbuild /t:assembleDebug
这个目标只会在调试模式下构建。
我已经尝试修改.csproj文件但没有成功。
感谢您的回答。
【问题讨论】:
标签: visual-studio msbuild csproj
这个目标只会在调试模式下构建。我已经尝试修改 .csproj 文件但没有成功。
要完成此操作,请卸载您的项目。然后在项目的最后,就在结束标记 </Project> 之前,放置以下脚本:
<Target Name="assembleDebug" Condition=" '$(Configuration)' == 'Debug' ">
<Message Text="This custom target will only be executed when configuration is debug" Importance="high"></Message>
</Target>
在'$(Configuration)' == 'Debug'条件下,只在配置为Debug时执行目标:
当您使用 Release 模式构建它时,此自定义目标将不会执行:
msbuild "CustomTarget.csproj" /p:Configuration=Release /t:build;assembleDebug
评论更新:
我可以直接调用:msbuild /t:assembleDebug 并且这个目标会执行 与 msbuild /p:Configuration=Debug
相同
/p:Configuration=Release 用于覆盖 Visual Studio 上的默认配置,如果您只想调用:msbuild /t:assembleDebug 并且此目标将执行与 msbuild /p:Configuration=Debug 相同的操作,则应设置默认值配置到 Debug,然后使用命令 msbuild /t:assembleDebug:
然后使用该命令行构建它:
希望这会有所帮助。
【讨论】:
msbuild /t:assembleDebug,这个目标会和msbuild /p:Configuration=Debug做同样的事情
msbuild Epicture.csproj /t:build;assembleDebug。你不想使用这个命令:msbuild Epicture.csproj /t:build;assembleDebug?如果是,您只需使该自定义目标依赖于默认目标构建:<Target Name="assembleDebug" Condition=" '$(Configuration)' == 'Debug' " DependsOnTargets="Build">