在 MSBuild 中构建后调用 Publish

Posted

技术标签:

【中文标题】在 MSBuild 中构建后调用 Publish【英文标题】:Call Publish after Build in MSBuild 【发布时间】:2012-08-28 18:59:19 【问题描述】:

每次构建 WPF 应用程序时,我都会尝试调用 Publish 目标。我已调整 .csproj 文件以包含以下内容:

<Target Name="AfterBuild">
  <Message Text="Running AfterBuild..." />
  <MSBuild Projects="$(MSBuildProjectFullPath)" Properties="Configuration=$(Configuration); PublishDependsOn=" Targets="Publish" />
</Target>

当我从命令行运行它时,我看到它是“Running AfterBuild...”的消息,但没有任何反应。如果我删除 '; PublishDependsOn=' 来自 MSBuild 任务的 Properties,我收到循环引用错误。

我在这里缺少什么魔法?

【问题讨论】:

相关:***.com/questions/3158341/… 【参考方案1】:

好的,我想出了如何做我想做的事。我没有尝试在 AfterBuild 中显式调用 Publish,而是将其添加到项目的 DefaultTargets 中。现在它调用 Build 然后 Publish。

&lt;Project ToolsVersion="4.0" DefaultTargets="Build;Publish" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"&gt;

【讨论】:

不幸的是,这个解决方案对我不起作用。您正在构建什么项目类型?可能是我在这里遗漏的其他东西?

以上是关于在 MSBuild 中构建后调用 Publish的主要内容,如果未能解决你的问题,请参考以下文章

MSBuild:从 Visual Studio 中构建解决方案后运行目标

MSBuild - 在构建中集成跨平台编译器

msbuild.exe 保持打开状态,锁定文件

CruiseControl.Net 在使用 msbuild 任务的项目后重新启动

msbuild 是不是知道它是从 Visual Studio 调用还是从命令行调用?

预构建 MSBuild 任务以更新与构建的 exe 不同步的 AssemblyInfo