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

max*_*axp 23 c# version-control assemblies

我在assemblyinfo.cs类中有代码:

[assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyFileVersion("1.0.*")]
Run Code Online (Sandbox Code Playgroud)

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

Pat*_*ald 30

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

注释掉以下行

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

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


Oli*_*ver 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")]
Run Code Online (Sandbox Code Playgroud)

现在继续翻转最后三行的注释,如下所示:

[assembly: AssemblyVersion("1.0.*")]
//[assembly: AssemblyVersion("1.0.0.0")]
//[assembly: AssemblyFileVersion("1.0.0.0")]
Run Code Online (Sandbox Code Playgroud)

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