【问题标题】:How to get msbuild to compile project after custom event自定义事件后如何让 msbuild 编译项目
【发布时间】:2013-11-25 21:20:33
【问题描述】:

我正在尝试在我的自动化测试构建 - MSBuild .proj 中修改 AssemblyInfo.cs 中的版本号。我可以成功地将任何我想写到 AssemblyInfo.cs 中,但这并没有反映在 bin 或 bin/Project/_PublishedWebsites/bin 中的项目 DLL 中。

我曾尝试在我的 msbuild .proj 中使用 InitialTargetsBeforeBuildBeforeCompile,但这会修改​​ src/.../Properties/ AssemblyInfo.cs 它似乎并没有最终进入编译 DLL。

我尝试过的一些例子:

<Project ToolsVersion="4.0" InitialTargets="BeforeCompile" DefaultTargets="FullPublish" ...

和/或

<Target Name="BeforeCompile"

更全面的情况是我想做以下事情:

  1. 将 AssemblyInfo 修改为 TFS 构建版本/修订版
  2. 构建/编译 sln
  3. 转换 web.config
  4. 调用节点r.js
  5. 部署到我们的负载平衡服务器

就我个人而言,它们都运行良好,我只是缺少具有正确版本号的编译 project.dll - 它总是显示 1.0.0.0。我想要 1) 在项目建成之前和 3-5 之后。

如果有任何相关性,我正在使用 MSBuild.Community.Tasks.Targets 和 Microsoft.Web.Publishing.Tasks.dll。

【问题讨论】:

    标签: msbuild


    【解决方案1】:

    愚蠢的是,这与目标顺序无关。在我的测试版本中,我首先添加了 .sln,然后是 publish.proj(其中包含上面的内容)。所以不管我在 .proj 文件中做了什么,它总是在解决方案编译之后。

    答案显然是将 .proj 分成 2 个并以正确的顺序运行它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-12
      • 2010-10-03
      • 2014-07-14
      • 2017-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多