c# - MSBuild 后期构建

标签 c# msbuild csproj post-build

我有一个 MSBuild 脚本,除了我的构建后步骤之外,它几乎可以完成我需要它做的所有事情(请参阅我之前提出的问题:MSBuild conditional Exec?)。

我想要做的是构建许多 csproj 文件,并且当且仅当项目已构建时才可选择执行构建后步骤。我不想一直执行我的构建后步骤,否则我最终输出的时间戳将被不必要地修改(并且它使构建过程无缘无故地非常耗时)。

在我的 MSBuild 脚本中,我的每个 csproj 文件都有如下内容:

<Target Name="ProjectName">
   <MSBuild Projects="PathToProject" Properties="Configuration=$(buildtype)" />
</Target>

编辑: 我想我真正想做的是检测 CoreCompile 任务何时为每个项目运行。是否有某种方法可以在某种情况下检查这一点?

有什么想法吗?

我是 MSBuild 的新手,所以我可能完全走错了路!

谢谢, 艾伦

最佳答案

您也可以根据在构建过程中选择的配置来执行此操作。对于 CI,您应该始终使用“发布”或“生产”(您可以定义自己的)。

<Exec Condition="'$(ConfigurationName)'=='Release'" Command="your command goes here ..."/>

关于c# - MSBuild 后期构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4285196/

相关文章:

c# - 如何对绑定(bind)到 ListBoxControl 的 ObservableCollection<T> 进行排序?

c# - Entity Framework SaveChangesAsync 阻塞了我的 UI?

c# - 在C#中获取调用方法的实例

c# - .NET Core - 构建项目指定 ReferencePath

visual-studio - 创建包含共享项目属性的 nuget - 自动引用

c# - 为什么在面向 .netstandard 1.3 时不能使用嵌入式资源 (resx)?

javascript - 从 asp 下拉列表调用 Javascript 函数

visual-studio - 在 VS2015 上使用 sdk 7.1 构建

msbuild - 如何在执行 MSBuild 脚本的过程中暂停?

msbuild - 你如何编写一个 MSBuild 任务来支持取消?