2012-10-17 50 views
2

我一直在閱讀AssemblyFileVersion,使用代碼similar to this,但由於安全限制,不能再使用Assembly.GetExecutingAssembly(或Assembly名稱空間中的任何方法)。如何將AssemblyFileVersion嵌入資源/常量/字符串/其他?

(順便說一句 - 這是SharePoint Online中所規定的安全限制上傳時,這確實你的組件的一些審訊,如果你使用框架的某些禁止部分拒絕它)

那麼,有沒有任何獲取Assembly File Version的其他方法?

我在猜測沒有,那麼是否有任何方法將AssemblyInfo.cs中的AssemblyFileVersion屬性放入類似資源文件或常量的東西中,以便可以在運行時訪問而不使用GetExectingAssembly?

+0

你_could_我想設置的AssemblyInfo.cs爲 '複製到輸出',然後手動解析它。或者可能寫出一個文件作爲你的構建過程的一部分? – stuartd

回答

6

這就是我想到的。 Fugly但符合目標(AssemblyFileVersion定義的單個地方),沒有任何MSBuild技巧將AssemblyFileVersion寫入資源文件。

文件:AssemblyInfo.cs中

// General Information about an assembly is controlled through the following 
// set of attributes. Change these attribute values to modify the information 
// associated with an assembly. 
[assembly: AssemblyTitle("MyProject")] 
... 
[assembly: AssemblyFileVersion(MyProject.AssemblyInfo.AssemblyFileVersion)] 

namespace MyProject 
{ 
    static internal class AssemblyInfo 
    { 
     /// <summary> 
     /// The AssemblyFileVersion of this web part 
     /// </summary> 
     internal const string AssemblyFileVersion = "1.0.3.0"; 
    } 
} 
相關問題