2016-06-21 71 views
3

如何在运行时读取project.json版本号?即所述 “1.0.0-1234” 在下面的配置:在运行时阅读project.json版本号

{ 
    "title": "MyProject.Api", 
    "webroot": "wwwroot", 
    "version": "1.0.0-1234", 
    "dependencies": { 
    ... 
    }, 
    ... 
} 
+1

'Assembly.GetEntryAssembly()GetCustomAttribute ()InformationalVersion '会得到完整的'版本'值。 – haim770

+0

@ haim770这在dotnet 1.0.0中不起作用。给你“文件版本”,其中'dotnet发布 - 版本后缀xxx'不会改变。它实际上做了什么改变是“产品版本”,但我不知道如何得到这个。 – rook

回答

8

可以使用静态辅助阅读:。

Microsoft.Extensions.PlatformAbstractions.PlatformServices.Default.Application.ApplicationVersion 
+0

上面的例子我只回到“1.0.0.0”。任何想法为什么会这样? – davenewza

+0

@davenewza检查你是否在我的project.json中有两次版本 – tmg

+0

'ApplicationVersion'不包含'-'后面的任何版本。所以你的版本号被截断为'1.0.0',相当于'1.0.0.0'。如果您将版本更新为例如'1.0.0.1234'或'1.1.0-1234',你会看到版本号分别为'1.0.0.1234'或'1.1.0.0' – Sock