程序集文件版本没有变化?

时间:2009-07-21 09:51:34

标签: c# version-control assemblies

我在assemblyinfo.cs类中有代码:

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

调用System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString()工作正常并提供更新版本,但是,当我在Windows资源管理器中查看生成的dll时,右键单击属性,单击“详细信息”选项卡,fileversion显示“1.0.0.0”甚至虽然上面的输出结果是1.0.3489.17621?

2 个答案:

答案 0 :(得分:30)

您不能使用1.0。*自动增加AssemblyFileVersion,只能使用AssemblyVersion。 (检查2005年至2012年的所有Visual Studio版本。)

注释掉以下一行

  

[assembly:AssemblyFileVersion(“1.0。*”)]

和文件版本将使用与程序集版本相同的编号。

答案 1 :(得分:23)

帕特里克已经给出了正确的答案,但这只是一个小建议。如果你查看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")]

一切都按预期工作......: - )