Nuestro grupo redactor ha estado horas buscando la respuesta a tus interrogantes, te dejamos la soluciones por esto nuestro deseo es servirte de mucha apoyo.
Solución:
Según este anuncio, IApplicationEnvironment
ya no existe.
Todavía puedes acceder a la ApplicationVersion
estáticamente usando:
Microsoft.Extensions.PlatformAbstractions.PlatformServices.Default.Application.ApplicationVersion
Esto funciona para mi. Mi project.json
Se ve como esto:
"version": "1.0.0.2",
// all the rest
Y en mi vista de índice, tengo la siguiente línea en la parte superior:
@Microsoft.Extensions.PlatformAbstractions.PlatformServices.Default.Application.ApplicationVersion
y entiendo correctamente 1.0.0.2
en la salida. Y cuando cambio ese valor y reinicio (creo) la aplicación, la nueva versión se muestra allí.
Dado que Platform Abstractions se envió con ASP.NET Core 1 y se eliminó de ASP.NET Core 2 y versiones posteriores, si usa la versión 2 o superior, debe reemplazar esta fila:
Microsoft.Extensions.PlatformAbstractions.PlatformServices.Default.Application.ApplicationVersion
Con este:
System.Reflection.Assembly.GetEntryAssembly().GetName().Version
como se especifica en la sección “Reemplazo del uso de la API” de la página vinculada anterior.
Usé un enfoque diferente, como se indica en esta respuesta que me dio una versión de SemVer (1.0.0) que en realidad está en mi project.json
y no 1.0.0.0, que se devuelve por respuesta aceptada. Entonces el código sería:
var runtimeVersion = typeof(Startup)
.GetTypeInfo()
.Assembly
.GetCustomAttribute()
.InformationalVersion;
También devuelve las versiones correctas con sufijo, es decir, algo así como “2.0.1-dev01”