簡體   English   中英

如何在我的許多 C# 項目的樹中協調程序集版本信息?

[英]How do I coordinate assembly version information in my tree of many C# projects?

您采取了哪些方法來協調對程序集組的版本和版權的更改?

我有一棵由許多 csprojs 組成的樹,每個都有自己的 AssemblyInfo 文件。 作為構建過程的一部分,我想設置版權年份和版本。 看起來以下選項可用,但文件修改是我迄今為止看到的唯一一個:

  • 通過腳本修改所有文件
  • 包括帶有日期的資源(一個宏,一個 singleton class 和公共 static 變量)
  • 在命令行上覆蓋 AssemblyVersion (-DAssemblyVersion="1.0.0.1"?)
  • 參考環境變量( [assembly: AssemblyFileVersion("${ENV.VERSION")]

我習慣於通過命令行參數保持 Java/C++ 中生成的文件的源代碼樹干凈,在單個文件中定義和集中所有版本規范。

您使用什么方法來保持版本同步和可管理?

謝謝

彼得

在頂部文件夾中,我放置了一個 CommonAssemblyInfo.cs,其中包含...常見的東西,例如版權和 FileVersion。 該文件僅包含一些默認屬性,並由構建服務器上的腳本(一個 simple.bat 文件)重新生成,在我的例子中是 Hudson。 在每個項目 AssemblyInfo.cs 中刪除這些公共屬性。

在解決方案的每個項目中,我都添加了這個文件。 但使用“添加為鏈接” - 添加現有文件時,在“添加”按鈕的下拉菜單中可用。 即所有項目只包含對同一文件的引用,因此只有一個文件需要更新。

無論您采用哪種方式來實際更新版本號,都可以使用單獨的 AssemblyInfo.cs 文件來指定共享版本。

就結構而言,在其他項目上方的某個級別創建文件,然后將其添加到所有項目(從 Visual Studio 中),但這樣做時請確保 select '添加為鏈接'。

我也使用了 MSBuild 任務來處理更新,我只是想不出 - 你使用哪個構建引擎?

理論上,您可以擁有一個程序集文件。 只需在所有其他項目中鏈接文件:添加現有文件>>鏈接文件而不是添加(按鈕下拉菜單)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM