¿Cómo puedo verificar desde una aplicación C# en sí misma, qué versión de dotnet está utilizando la aplicación?Identificar mi versión dotnet
Respuesta
Use Environment.Version
- le da la versión exacta de .NET que ejecuta la aplicación.
Obtiene un objeto de versión que describe los números mayor, menor, construcción y revisión del tiempo de ejecución de idioma común.
para averiguar qué versión del marco está instalado, ver this SO preguntas y respuestas. En pocas palabras, necesitarás profundizar en el registro.
¿Se puede distinguir entre 3.5, 3.0 y 2.0? (el tiempo de ejecución es el mismo, 2.0.alma) – xanatos
@xanatos - No, no puede. Devolverá la versión en tiempo de ejecución. Si necesita saber qué está instalado, consulte [this] (http://stackoverflow.com/questions/199080/how-to-detect-what-net-framework-versions-and-service-pack-are-installed) ASÍ pregunta y respuestas. – Oded
Puede utilizar el:
Environment.Version
para obtener el número de versión del tiempo de ejecución de .NET.
Crear una aplicación de consola de añadir esta clase y ejecutarlo
using Microsoft.Win32;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication2
{
public class GetDotNetVersion
{
public static void Get45PlusFromRegistry()
{
const string subkey = @"SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\";
using (RegistryKey ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).OpenSubKey(subkey))
{
if (ndpKey != null && ndpKey.GetValue("Release") != null)
{
Console.WriteLine(".NET Framework Version: " + CheckFor45PlusVersion((int)ndpKey.GetValue("Release")));
}
else
{
Console.WriteLine(".NET Framework Version 4.5 or later is not detected.");
}
}
}
// Checking the version using >= will enable forward compatibility.
private static string CheckFor45PlusVersion(int releaseKey)
{
if (releaseKey >= 394802)
return "4.6.2 or later";
if (releaseKey >= 394254)
{
return "4.6.1";
}
if (releaseKey >= 393295)
{
return "4.6";
}
if ((releaseKey >= 379893))
{
return "4.5.2";
}
if ((releaseKey >= 378675))
{
return "4.5.1";
}
if ((releaseKey >= 378389))
{
return "4.5";
}
// This code should never execute.
// that 4.5 or later is installed.
return "No 4.5 or later version detected";
}
}
// Calling the GetDotNetVersion.Get45PlusFromRegistry method produces
// output like the following:
// .NET Framework Version: 4.6.1
}
Agregue una explicación con la respuesta de cómo esta respuesta ayuda a OP a corregir el problema actual –
En Visual Studio, vaya a Herramientas-> Nutget paquete Management-> Gestor de paquetes de consola Type en dotnet --version Y aquí tienes!
- 1. Cómo crear mi propio dotnet obfuscator
- 2. ¿Hay una versión asincrónica de DirectoryInfo.GetFiles/Directory.GetDirectories en dotNet?
- 3. PHP DOTNET hell
- 4. dotnet: ListChangedType.ItemDeleted es inútil?
- 5. dotnet System.Web.Caching.Cache vs System.Runtime.Caching.MemoryCache
- 6. DotNet - ¿Qué es int *?
- 7. DotNet: variables estáticas en DLL
- 8. ¿cuál es mi versión HAProxy?
- 9. dotnet Biblioteca de integración HL7
- 10. .Net (dotNet) envoltorios para OpenCV?
- 11. Instalar cada versión o la última versión es suficiente?
- 12. Comparación de cadenas en dotnet framework 4
- 13. Gestiones GDI en una aplicación DotNET
- 14. dotnet dll descompila y cambia el código
- 15. ¿Qué versión es mi servidor MySQL?
- 16. ¿Cómo puedo ver mi versión de Eclipse?
- 17. ¿Falta XMLReader en mi versión de PHP?
- 18. Git: Administrar cada versión de mi aplicación?
- 19. ¿Cómo puedo degradar mi versión de SDK?
- 20. versión presentada a mi aplicación Java - Netbeans
- 21. ¿Qué versión de javac construyó mi jar?
- 22. Autenticación bidireccional con ssl en dotnet
- 23. dotNetRDF VS Jena.NEt VS otros con Dotnet?
- 24. Maven: cómo identificar archivos jar por SHA
- 25. Identificar token de autenticación
- 26. ¿Cómo identificar la versión de la Biblioteca de extensiones de XPages?
- 27. Interpretar y/o recibir código dotNet en tiempo de ejecución
- 28. Identificar columnas binarias
- 29. Cómo usar dotnet highcharts dll para mostrar HighCharts en MVC3?
- 30. Migrando mi HTML API de Google MAP versión 2 a la versión 3
¿Quiso decir la versión mínima requerida por la aplicación? (TargetFrameworkVersion attr en el archivo de proyecto) –
En realidad, necesito la ruta del marco de aplicación actual. Mi aplicación necesita ejecutar algún exe de la versión actual en ejecución. es decir, si mi aplicación usa 2.0, elegirá exe de la carpeta .net 2.0 y si usa 4 seleccionará exe de la carpeta .net 4.0. – hungryMind