Получить Asp.Net Core 2 MVC ReleaseVersion - PullRequest
       17

Получить Asp.Net Core 2 MVC ReleaseVersion

0 голосов
/ 07 сентября 2018

Я пытаюсь получить текст (2018.09.06) атрибута Version моего проекта Asp.Net Core 2 MVC, который отображается в диалоговом окне параметров проекта:

enter image description here

Значение содержится в элементе ReleaseVersion в файле .csproj проекта:

<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
    <RootNamespace>Project Foo</RootNamespace>
    <ReleaseVersion>2018.09.06</ReleaseVersion>
    <UserSecretsId>[GUID here]</UserSecretsId>
  </PropertyGroup>
  ...
</Project>

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

var version = System.Reflection.Assembly.GetEntryAssembly().GetName().Version;

Но он возвращает 1.0.0.0.

Я использую .Net Core 2.0 Framework.

Примечание: ответы на Отображение версии проекта в приложении ASP.NET MVC Core (RC2) не работает.

Ответы [ 2 ]

0 голосов
/ 09 мая 2019

См .: https://github.com/dotnet/core/issues/2700#issuecomment-491025782

Добавьте файл Directory.Build.props в папку решения и управляйте версией там, а не через пользовательский интерфейс.

<Project>
  <PropertyGroup>
    <VersionPrefix>1.19.2</VersionPrefix>
  </PropertyGroup>
</Project>

Я склонен думать, что VSинструменты должны быть лучше, но пока у меня есть только одно место для управления этим значением, это значительное улучшение по сравнению с альтернативой.

0 голосов
/ 25 ноября 2018

Я добавил элемент /PropertyGroup/VersionPrefix в файл .csproj моего проекта:

<PropertyGroup>
  <VersionPrefix>1.19.2</VersionPrefix>
  <VersionSuffix></VersionSuffix>
</PropertyGroup>

Тогда получите значение:

string Version = System.Reflection.Assembly.GetEntryAssembly().GetCustomAttribute<System.Reflection.AssemblyInformationalVersionAttribute>().InformationalVersion.ToString()

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

Честно говоря, я запутался, почему существует отдельный интерфейс для отдельного номера версии (который указан в моем вопросе), который не доступен API.

...