2013-11-25 51 views
1

我試圖在我的自動化測試版本中修改AssemblyInfo.cs中的版本號 - 一個MSBuild .proj。我可以成功地將任何我想要的信息寫入AssemblyInfo.cs,但是這並不反映在bin或bin/Project/_PublishedWebsites/bin中的項目DLL中。如何讓msbuild在自定義事件後編譯項目

我一直在使用InitialTargetsBeforeBuildBeforeCompile試圖在我的MSBuild .proj但在這個修訂的src /.../屬性/ AssemblyInfo.cs中它似乎並沒有最終使得人們編譯DLL。

的是我曾嘗試一些例子:

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

和/或

<Target Name="BeforeCompile" 

更完整的畫面是我要做到以下幾點:

  1. 與修改集信息TFS構建版本/修訂版
  2. 構建/編譯sln
  3. 變換web.config中
  4. 呼叫節點r.js
  5. 部署到我們的負載平衡服務器

單獨我已經得到了他們的所有工作正常,我只是缺少一個編譯項目。 DLL的正確版本號 - 它總是說1.0.0.0。我希望1)在項目建成之前和3-5之後。

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

回答

0

愚蠢的是,這與目標順序無關。在我的測試版本中,我先添加了.sln,然後添加了publish.proj第二個(包含上面的東西)。所以不管我在.proj文件中做了什麼,它總是在解決方案編譯之後。

答案顯然是把.proj分成2個,然後按正確的順序運行它們。

相關問題