【问题标题】:Get Asp.Net Core 2 MVC ReleaseVersion获取 Asp.Net Core 2 MVC ReleaseVersion
【发布时间】:2018-09-06 22:46:52
【问题描述】:

我正在尝试获取我的 Asp.Net Core 2 MVC 项目的 Version 属性的文本 (2018.09.06),该文本在项目的选项对话框中捕获:

该值包含在项目的.csproj 文件中的ReleaseVersion 元素中:

<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 框架。

注意:Display project version in ASP.NET MVC Core application (RC2) 的答案无效。

【问题讨论】:

  • 架构定义没有ReleaseVersion 元素很奇怪。如果我将 ReleaseVersion 更改为 Version ,它将起作用。
  • 我在这里看到了完全相同的问题,我总是得到 1.0.0.0。我什至倾倒了程序集,但在其中的任何地方都没有找到 ReleaseVersion。你找到解决办法了吗?
  • 我正在处理这个问题,你在这方面有什么进展吗?在我的情况下,也许是你的情况下,我将解决方案中的每个项目都设置为将版本控制委派给解决方案。据我所知,这就是导致 ReleaseVersion 属性出现的原因,并且似乎没有任何方法可以从 csproj 文件访问 ReleaseVersion 属性。
  • 我为此提出了一个问题:github.com/dotnet/core/issues/2700

标签: asp.net-core-mvc asp.net-core-2.0


【解决方案1】:

我在项目的.csproj 文件中添加了一个/PropertyGroup/VersionPrefix 元素:

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

然后获取值:

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

据我所知,项目的选项 UI 无法设置该值。

老实说,我很困惑为什么会有一个 API 无法访问的单独版本号(我的问题中提到的那个)的 UI。

【讨论】:

    【解决方案2】:

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

    Directory.Build.props 文件添加到您的解决方案文件夹并在那里管理版本,而不是通过 UI。

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

    我倾向于认为 VS 工具在这方面应该更好,但只要我只有一个地方来管理这个值,这就是对替代方案的显着改进。

    【讨论】:

      猜你喜欢
      • 2020-03-06
      • 2019-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-03
      相关资源
      最近更新 更多