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

Получение версии сборки из AssemblyInfo.cs

У нас есть файл AssemblyInfo.cs в нашем веб-приложении, но у нас есть другие проекты в одном решении. В основном это библиотеки классов. Мне говорят, чтобы показать версию сборки с AssemblyInfo.cs в нашем пользовательском интерфейсе. Я нашел следующее решение в SO из использования С# AssemblyFileVersion в рамках программы

using System.Reflection;
Version version = Assembly.GetExecutingAssembly().GetName().Version;

или

using System.Reflection;
using System.IO;

FileVersionInfo fv = System.Diagnostics.FileVersionInfo.GetVersionInfo
                               (Assembly.GetExecutingAssembly().Location);

Console.WriteLine("AssemblyVersion : {0}", 
         Assembly.GetExecutingAssembly().GetName().Version.ToString());

Console.WriteLine ("AssemblyFileVersion : {0}" , 
         fv.FileVersion.ToString ());

Но это меня немного смущает. Он говорит GetExecutingAssembly() и что, если он работает на другой сборке из других библиотек классов? Будут ли эти коды извлекаться из файла AssemblyInfo.cs, который постоянно находится в веб-проекте? (это то, что я хочу)

4b9b3361

Ответ 1

Как указано в документации, Assembly.GetExecutingAssembly() получает сборку, в которой код вызова был скомпилирован внутри.

Если вы хотите быть более явным (и быстрее), вы можете написать typeof(SomeType).Assembly, где SomeType - это любой тип в проекте, который вы ищете.