Версия файла сборки не меняется? - PullRequest
23 голосов
/ 21 июля 2009

В моем классе assemblyinfo.cs есть код:

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

Вызов System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString() работает нормально и выдает обновленную версию, однако, когда я смотрю на сгенерированную dll в проводнике Windows, щелкаю правой кнопкой мыши свойства, нажимаю вкладку «детали», версия файла говорит «1.0.0.0», хотя вывод выше говорит 1.0.3489.17621?

Ответы [ 2 ]

30 голосов
/ 21 июля 2009

Вы не можете использовать 1.0. * Для автоматического увеличения AssemblyFileVersion, только AssemblyVersion. (Проверено во всех версиях Visual Studio с 2005 по 2012 г.).

Закомментируйте следующую строку

[сборка: AssemblyFileVersion ("1.0. *")]

и версия файла будет иметь тот же номер, что и версия сборки.

23 голосов
/ 21 июля 2009

Патрик уже дал правильный ответ, но вот лишь небольшой совет. Если вы посмотрите в 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")]

И все работает как положено ...: -)

...