2009-07-21 51 views
23

我有我的AssemblyInfo.cs類代碼:彙編文件版本不變?

[assembly: AssemblyVersion("1.0.*")] 
[assembly: AssemblyFileVersion("1.0.*")] 

調用System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString()工作正常,並給出了更新的版本,但是,當我看到在Windows資源管理器生成的DLL,右鍵點擊屬性,點擊「詳細信息「選項卡,即使上面的輸出顯示爲1.0.3489.17621,fileversion也會顯示」1.0.0.0「?

+0

什麼版本的Visual Studio? – 2009-07-21 10:28:45

+0

Visual studio 2008,doh! – maxp 2009-07-21 11:10:03

+0

請參閱http://stackoverflow.com/questions/64602/what-are-differences-between-assemblyversion-assemblyfileversion-and-assemblyin – John 2012-08-28 07:41:06

回答

29

您不能使用1.0。*自動遞增AssemblyFileVersion,只能使用AssemblyVersion。 (檢查從2005年到2012年的所有Visual Studio版本)。

註釋出以下行

[組件:( 「1.0 *」)的AssemblyFileVersion]

和文件版本將採取相同數量的作爲大會版。

22

帕特里克已經給出了正確的答案,但這裏只是一點建議。如果你看看AssemblyInfo.cs中,你會發現在末尾以下塊:

// Version information for an assembly consists of the following four values: 
// 
//  Major Version 
//  Minor Version 
//  Build Number 
//  Revision 
// 
// You can specify all the values or you can default the Build and Revision Numbers 
// by using the '*' as shown below: 
//[assembly: AssemblyVersion("1.0.*")] 
[assembly: AssemblyVersion("1.0.0.0")] 
[assembly: AssemblyFileVersion("1.0.0.0")] 

現在去,並從最後三行翻轉評論如下:

[assembly: AssemblyVersion("1.0.*")] 
//[assembly: AssemblyVersion("1.0.0.0")] 
//[assembly: AssemblyFileVersion("1.0.0.0")] 

和一切正常如預期的那樣...... :-)