2010-08-23 2 views
19

Я читаю информацию о версии моего приложения wpf, но я не получаю правильную версию, поскольку я пишу в файле AssemblyInfo.cs. В моем архиве естьИнформация о версии для Списка чтения приложения WPF

[assembly: AssemblyVersion("0.1.001")] 
[assembly: AssemblyFileVersion("0.0.001")] 

Я читаю информацию о версии, используя этот код

System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); 

Я получаю эту версию 0.1.1.0, и она должна быть 0.1.001

Благодаря

ответ

23

Свойства Major, Minor, Build и RevisionVersion класса имеют тип int, не string. Поэтому, когда строка из версии сборки анализируется на класс Version, части этой строки будут преобразованы в представление int. Также существует правило, что первый номер указанной строки версии является Major компонентом Version:

"1" - 1.0.0.0 
"1.2" - 1.2.0.0 
"1.2.3" - 1.2.3.0 
"1.2.3.4" 1.2.3.4 
+5

Другими словами, ведущие нули не может быть частью значения версии. Если вы хотите их показать, вам придется форматировать строку вручную. – Tergiver

+0

ОК понимаю, спасибо –

2

В разделе MSDN article , он гласит, что:

Все компоненты версии должны быть целыми числами больше или равно 0

Так это или округление вверх или удаление завершающих нулей, чтобы получить действительное число.

Смежные вопросы