首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从project.json获取版本值

从project.json获取版本值
EN

Stack Overflow用户
提问于 2016-04-15 05:16:54
回答 3查看 477关注 0票数 1

在使用"project.json“文件的DNX应用程序中,有没有办法从"project.json”文件中读取"version“属性的值?

我正在编写一个向当前HTTP响应中写入内容的库,我想在其中显示应用程序的版本。

任何关于如何做到这一点的帮助都是非常感谢的。

EN

回答 3

Stack Overflow用户

发布于 2016-04-19 00:46:43

如果您在构建过程中(或以任何其他方式)设置版本属性,则可以这样做:

代码语言:javascript
复制
using System;
using System.Reflection;

[assembly:AssemblyVersionAttribute("1.2.3")]

namespace Test
{
    class Program
    {
        public static void Main()
        {
            var assembly = typeof(Program).GetTypeInfo().Assembly;
            var name = assembly.GetName();

            Console.WriteLine($"{name.Name}: {name.Version}");
        }
    }
}

我用的是新的dotnet cli,它取代了dnx,但它应该也能与dnx dnxcore50一起工作。

票数 1
EN

Stack Overflow用户

发布于 2016-04-30 12:58:33

您是在编写类库还是ASP.NET应用程序?

如果是类库,则可以将版本字符串复制到在运行时读取的资源文件中,以获取版本。使用类库做这类事情是很困难的,因为你不会得到启动和IoC的好处。

如果是ASP.NET,那么只需将一个版本添加到您的appsettings.json配置中(或一个用于存储设置的自定义json文件),并在启动时读取它:http://docs.asp.net/en/latest/fundamentals/configuration.html

票数 0
EN

Stack Overflow用户

发布于 2016-12-01 04:51:47

如果您在web应用程序中运行,而不是在类库中运行,则可以采用多种方法来完成此操作。第一条自定义属性数据(应检查属性是否可用):

代码语言:javascript
复制
this.GetType().Assembly.GetCustomAttributesData()
            .First(x => x.AttributeType.FullName == "System.Reflection.AssemblyInformationalVersionAttribute")
            .ConstructorArguments[0];

第二种方式

代码语言:javascript
复制
        var name = this.GetType().AssemblyQualifiedName;
        name = name.Substring(name.IndexOf("Version=") + 8);
        var verion = name.Substring(0, name.IndexOf(", "));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36634176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档