Определить версию моего приложения Silverlight - PullRequest
4 голосов
/ 04 августа 2009

Я пытаюсь определить номер версии моего приложения Silverlight. В настоящее время я использую:

        string name = Assembly.GetExecutingAssembly().FullName;
        AssemblyName asmName = new AssemblyName(name);

        // http://www.dotnet247.com/247reference/msgs/45/225355.aspx
        string versionNo = "Version: " + asmName.Version.Major + "." + asmName.Version.Minor + "." + asmName.Version.Build + "." + asmName.Version.Revision;

Однако четыре последовательные сборки моего приложения дают мне:

1.0.0.14310

1.0.0.14343

1.0.0.14382

1.0.0.14425

Это не конец света, поскольку они последовательны, но я хотел бы знать, как это происходит. Сохраняется ли где-нибудь в проекте «текущий» номер редакции или сборка на другом компьютере нарушит последовательность? Было бы замечательно, если бы кто-то мог указать мне на некоторое чтение фона (которое не является MSDN!).

1 Ответ

5 голосов
/ 04 августа 2009

Посмотрите файл Assembly.cs (находится в папке свойств вашего приложения.

Примечание: -

 [assembly: AssemblyVersion("1.0.0.*")]

В нижней части файла. Это указывает фиксированный мажор, минор и номер сборки. Номер редакции будет количеством секунд с полуночи.

Если у вас было это: -

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

Вы получите номер сборки в виде числа дней с 1 января 2000 года и номер редакции в виде количества секунд с полуночи, , поделенного на два .

В VS2010 есть потенциальная ошибка, которая на это влияет. Подробнее см. connect.microsoft.com . - BillVo

...