2009-07-21 50 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")] 

和一切正常如预期的那样...... :-)