.net - ¿Cómo arreglar DNX/DNVM en Visual Studio 2015?
visual-studio visual-studio-2015 (8)
Este es un problema conocido .
ASP.NET 5: en Windows 7 SP1, DNX SDK no se puede instalar sin Powershell 3.0.
Síntomas
Cuando crea un proyecto ASP.NET 5, recibe el siguiente mensaje de error:
La versión de DNX SDK ''dnx-clr-win-x86.1.0.0-beta5'' no se pudo instalar. La solución utilizará la versión de DNX SDK ''dnx-clr-win-x86-1.0.0-beta5'' para esta sesión
Solución alternativa
Para solucionar este problema, instale Windows Powershell 3.0 (o superior) e intente crear el proyecto nuevamente.
Para ver su versión actual de PS, ejecute el comando
$PsVersionTable
(
details
).
Enlaces:
Hoy instalé VS 2015 en Windows 7 x64. Principalmente para probar nuevas características de .Net Core, etc. Y para la prueba creé una nueva solución de C # "Aplicación de consola (paquete)" y recibí este mensaje:
La versión de DNX SDK ''dnx-clr-win-x86.1.0.0-beta5'' no se pudo instalar. La solución utilizará la versión de DNX SDK ''dnx-clr-win-x86.1.0.0-beta5'' para esta sesión.
No puedo compilar y depurar proyecto. Además, cuando abrí la pestaña de depuración en las propiedades del proyecto, VS se bloqueó.
Salida de DNVM cuando abrí la solución:
Invoke-Command : The term ''x86'' is not recognized as the name of a cmdlet, func
tion, script file, or operable program. Check the spelling of the name, or if a
path was included, verify that the path is correct and try again.
C:/Program Files/Microsoft DNX/Dnvm/dnvm.ps1:1451 ????:27
+ Invoke-Command <<<< ([ScriptBlock]::Create("dnvm-$cmd $cmdargs")
)
+ CategoryInfo : ObjectNotFound: (x86:String) [Invoke-Command], C
ommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException,Microsoft.PowerShell.Co
mmands.InvokeCommandCommand
Invoke-Command : The term ''x86'' is not recognized as the name of a cmdlet, func
tion, script file, or operable program. Check the spelling of the name, or if a
path was included, verify that the path is correct and try again.
C:/Program Files/Microsoft DNX/Dnvm/dnvm.ps1:1451 ????:27
+ Invoke-Command <<<< ([ScriptBlock]::Create("dnvm-$cmd $cmdargs")
)
+ CategoryInfo : ObjectNotFound: (x86:String) [Invoke-Command], C
ommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException,Microsoft.PowerShell.Co
mmands.InvokeCommandCommand
Invoke-Command : The term ''x86'' is not recognized as the name of a cmdlet, func
tion, script file, or operable program. Check the spelling of the name, or if a
path was included, verify that the path is correct and try again.
C:/Program Files/Microsoft DNX/Dnvm/dnvm.ps1:1451 ????:27
+ Invoke-Command <<<< ([ScriptBlock]::Create("dnvm-$cmd $cmdargs")
)
+ CategoryInfo : ObjectNotFound: (x86:String) [Invoke-Command], C
ommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException,Microsoft.PowerShell.Co
mmands.InvokeCommandCommand
¿Alguna idea para solucionarlo?
Además, anteriormente instalé VS 2015 Preview y DNX / DNVM por separado. Pero creo que lo eliminé por completo antes de la instalación de VS 2015. ¿Podría esto afectar de alguna manera la instalación VS actual?
Mi versión de powershell era 3.0, luego yo:
- Instale powershell v.4 desde:
https://www.microsoft.com/en-us/download/details.aspx?id=40855
- Reiniciar windows
Esto resuelve mi problema.
Podría solucionarlo de esta manera: en el símbolo del sistema del desarrollador para 2015, ingrese este comando
dnvm install 1.0.0-beta5
Seguro que de esta manera se puede solucionar su problema.
Si alguien tiene problemas con dnx no disponible en Visual Studio 2015 mientras mira algunos tutoriales poco actualizados (como yo), consulte el siguiente link
La versión RC2 de .NET Core y ASP.NET Core 1.0 se trasladó de DNX a .NET Core CLI.
En la tabla de la página vinculada, verá la asignación entre los comandos DNX / DNU y sus contrapartes de la CLI. por ejemplo:
dnx run
convierte en
dotnet run
También estoy teniendo este problema.
Parece estar relacionado con un problema donde el script dnvm.ps1 no cita la ruta de instalación.
El comando
dnvm install "C:/Program Files (x86)/Microsoft Web Tools/DNX/dnx-clr-win-x86.1.0.0-beta5.nupkg"
de Visual Studio se recupera como
dnvm-install C:/Program Files (x86)/Microsoft Web Tools/DNX/dnx-clr-win-x86.1.0.0-beta5.nupkg
, que se rompe ya que la ruta debe ser citada.
Hay más información disponible sobre la solicitud de extracción que abrí en:
https://github.com/aspnet/dnvm/pull/357
Como solución alternativa, la solución para mí fue cambiar lo siguiente en "C: / Archivos de programa / Microsoft DNX / Dnvm / dnvm.ps1" . Esto recorre los argumentos, asegurando que se cite cualquier espacio en blanco o paréntesis que lo contenga.
Reemplace la siguiente línea:
$cmdargs = @($args[1..($args.Length-1)])
con:
# Combine arguments, ensuring any containing whitespace or parenthesis are correctly quoted
ForEach ($arg In $args[1..($args.Length-1)]) {
if ($arg -match "[/s/(/)]") {
$cmdargs += """$arg"""
} else {
$cmdargs += $arg
}
$cmdargs += " "
}
Si aún tiene problemas después de realizar este cambio, elimine
C:/Users/username/.dnx
y vuelva a abrir Visual Studio para permitir que Visual Studio vuelva a crear la carpeta.
Tuve un problema similar el día de hoy, y la forma en que logré resolverlo después de leer los comentarios en esta página fue muy sencillo.
En primer lugar, debo decir que ya tenía instalado PowerShell 3.0 (no tenerlo instalado parece ser la principal fuente de este problema para la mayoría de las personas) y, sin embargo, todavía tenía este mismo problema.
Entonces, en lugar de tener que editar y modificar los scripts de PowerShell involucrados para que funcionen con rutas con espacios en blanco, etc. como se sugiere, simplemente hice lo siguiente (mucho más simple):
1.- Vaya a "C: / Archivos de programa (x86) / Microsoft Web Tools / DNX" en el explorador de Windows y "copie" todo su contenido (básicamente todos los paquetes y sus subcarpetas)
2.- "Pegue" todo ese contenido en una ruta sin espacios en blanco. Usé "C: / Temp /"
3.- Ejecute los siguientes comandos en la línea de comando (observe que ahora no hay espacios en blanco en las ubicaciones de ruta indicadas)
dnvm update-self
dnvm install "C:/Temp/dnx-clr-win-x64.1.0.0-beta5.nupkg"
dnvm install "C:/Temp/dnx-coreclr-win-x64.1.0.0-beta5.nupkg"
dnvm list
4.- Abra su solución de Visual Studio ahora y en su Proyecto -> Propiedades -> pestaña Aplicación, allí ahora puede especificar la versión del DNX SDK que desea usar de las que ahora tiene disponibles
5.- Reconstruye tu solución y ahora debería estar todo bien
¡Buena esa!
tratar
dnvm update-self
dnvm install -u -r clr -OS win -a x86 beta5 -ngen
importantes son el parámetro
-u
(inestable) y la
beta5
versión
beta5
.
Instale la última versión abriendo una consola y ejecutando:
dnvm upgrade
Si vuelve a abrir VS, debería poder compilar.
Si esto no funciona, intente eliminar la carpeta
C:/Users/username/.dnx
.
Vuelva a abrir VS y recreará la carpeta .dnx en la misma ubicación con solo 2 scripts: bin / dnvm.cmd y bin / dnvm.ps1
Nota: Esto eliminaría todos los tiempos de ejecución ya instalados
.
dnvm upgrade
y compruebe en las propiedades del proyecto si la
versión del SDK de Solution DNX
que tiene coincide con una instalada.