Отобразить версию проекта в веб-приложении ASP.NET Core 1.0.0

Ничто из того, что раньше использовалось в RC.x, больше не помогает.

Я пробовал эти:

  • PlatformServices.Default.Application.ApplicationVersion;

    .
  • TypeOf (контроллер).GetTypeInfo() Assembly.GetCustomAttribute <AssemblyFileVersionAttribute> () версии;.

  • Assembly.GetEntryAssembly() GetName() Version.ToString();..

Они все возвращают 1.0.0.0 вместо 1.0.0-9, который должен после выполнения dotnet publish --version-suffix 9 иметь это в project.json: "version": "1.0.0-*"

В основном они дают мне "версию файла" из прикрепленного изображения вместо "версии продукта", который dotnet publish действительно кажется измененным.

введите описание изображения здесь

Ответ 1

Для версии 1.x:

Assembly.GetEntryAssembly().GetCustomAttribute<AssemblyInformationalVersionAttribute>().InformationalVersion;

Для версии 2.0.0 этот атрибут содержит что-то уродливое: 2.0.0 built by: dlab-DDVSOWINAGE041, поэтому используйте этот:

typeof(RuntimeEnvironment).GetTypeInfo().Assembly.GetCustomAttribute<AssemblyFileVersionAttribute>().Version;

Ответ 2

Я бы сделал это так на ASP.NET Core 2. 0+

var assemblyVersion = typeof(Startup).Assembly.GetName().Version.ToString();

Ответ 3

Эта работа для меня тоже:

@Microsoft.Extensions.PlatformAbstractions.PlatformServices.Default.Application.ApplicationVersion

Он работает с файлом csproj - либо <Version> 1.2.3.4, либо <VersionPrefix> 1.2.3 </VersionPrefix> . Однако <VersionSuffix> не реганизируется как этот документ.