2016-06-21 5 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 'получит ваше полное значение' version'. – haim770

+0

@ haim770 Это не работает в dotnet 1.0.0. Дает вам «версию файла», которую «dotnet publish -version-suffix xxx» не изменяется. То, что на самом деле меняется, это «версия продукта», но я не знаю, как это сделать. – rook

ответ

8

Вы можете прочитать ее с помощью статического помощника:..

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

Я только вернул «1.0.0.0» для приведенного выше примера. Любая идея, почему это будет так? – davenewza

+0

@davenewza проверьте, есть ли у вас версия дважды в моем проекте. 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

Смежные вопросы