Отобразить версию проекта в веб-приложении ASP.NET Core 1.0.0
Ничто из того, что раньше использовалось в RC.x, больше не помогает.
Я пробовал эти:
Они все возвращают 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> не реганизируется как этот документ.