2016-06-13 33 views
7

Uygulama sürümünü project.json'dan nasıl görüntülerim? Sürümün otomatik olarak düzeltilmesi için gulp-bump kullanıyorum, ancak en son sürümü gösteremiyorum. İşte çalışıyorum budur: Bu işe yaramazsaASP.NET MVC Core uygulamasında proje sürümü (RC2)

@(Microsoft.Extensions.PlatformAbstractions.PlatformServices.Default.Application.ApplicationVersion) 

, ben de bu çalıştı project.json

gelen "1.0.0" yerine gerçek değerinin görüntüler ancak artık RC2 çalışıyor gibi görünüyor : this announcement gereğince

@inject Microsoft.Extensions.PlatformAbstractions.IApplicationEnvironment appEnv 
My version number is @(appEnv.ApplicationVersion) 

cevap

16

, IApplicationEnvironment artık yok.

Hala ApplicationVersion statik olarak kullanarak erişebilir:

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

Bana uyar.

{ 
    "version": "1.0.0.2", 
    // all the rest 
} 

Ve endeks görünümünde, ben üst aşağıdaki satırı vardır:: My project.json şöyle

@Microsoft.Extensions.PlatformAbstractions.PlatformServices.Default.Application.ApplicationVersion 

Ve yanlış çıktı 1.0.0.2 olsun. Ve bu değeri değiştirdiğimde ve uygulamayı yeniden oluşturduğumda, yeni sürüm orada gösteriliyor.

+2

üzgünüm, sorum açık değildi enoguh: Bunu zaten kullanıyorum, ancak 1.0.0.0. – vmg

+0

yerine 1.0.0.0 görüntüleniyor! proje sürümünü nasıl (otomatik olarak) çarpıyorsunuz? – vmg

+0

Asla "gulp-bump" kullanmamıştım, bu nasıl işe yaramıyor. Sadece 'project.json' içindeki sürümü değiştirmek ve uygulamayı yeniden oluşturmak için yeterli olmalıdır. – poke

7

this answer numaralı belgede belirtildiği gibi, project.json içinde ve 1.0.0.0 değerinde olan ve kabul edilmeyen yanıtla döndürülen bir SemVer sürümü (1.0.0) veren farklı bir yaklaşım kullandım. Yani kod şöyle olacaktır:

var runtimeVersion = typeof(Startup) 
      .GetTypeInfo() 
      .Assembly 
      .GetCustomAttribute<AssemblyInformationalVersionAttribute>() 
      .InformationalVersion; 

O döndüren, hem de "2.0.1-dev01" Platform Abstractions were obly shipped with ASP.NET Core 1 yana

6

ve benzeri yani birşeyler ASP.NET Core 2 ve kaldırıldı doğru son eki sürümleri Bu bir

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

: yukarıdaki sürüm 2 veya kullanıyorsanız, bu satır değiştirmelisiniz

System.Reflection.Assembly.GetEntryAssembly().GetName().Version 
bağlanmış sayfanın "API kullanımını değiştirme" bölümünde belirtildiği şekilde 210

.