Подтвердить что ты не робот

Метод для версии приложения для приложения консоли

Каков наилучший способ отображения основных/вспомогательных версий в консольном приложении С#?

Пространство имен System.Windows.Forms включает в себя класс ProductVersion, который можно использовать для отображения информации об имени/версии, заданной через свойства проекта Visual Studio (Информация о сборке). Таким образом, вот мой текущий механизм:

Console.WriteLine("{0} ({1})", 
   System.Windows.Forms.Application.ProductName, 
   System.Windows.Forms.Application.ProductVersion);

Почему эта часть Forms? Подходит ли это для консольного приложения?

4b9b3361

Ответ 1

Assembly.GetExecutingAssembly().GetName().Version

Кроме того, вы все равно можете использовать класс, вам просто нужно ссылаться на содержащую сборку. Это не biggie.

Ответ 2

Assembly.GetExecutingAssembly().GetName().Version не совпадает с Application.ProductVersion (но может быть достаточно хорош в зависимости от вашей среды.

Как видно из рефлектора Lutz, Application.ProductVersion сначала пытается использовать атрибут AssemblyInformationalVersion из Assembly.GetEntryAssembly(), если он присутствует, и если GetEntryAssembly() не является нулевым.

В противном случае используется версия файла исполняемого файла.

Я не вижу причин не использовать Application.ProductVersion в консольном приложении.