Как исправить DNX / DNVM в Visual Studio 2015?
сегодня я установил VS 2015 на Windows 7 x64. В основном для тестирования новых функций .Net Core и т. д. И для теста я создал новое решение c# "консольное приложение (пакет)" и получил следующее сообщение:
DNX SDK версия ' dnx-clr-win-x86.1.0.0-beta5' не удалось установить. Решение будет использовать DNX SDK версии " dnx-clr-win-x86.1.0.0-beta5 ' для этого сеанса.
Я не могу скомпилировать и отладить проект. Кроме того, когда я открыл вкладку debug в свойствах проекта, тогда Против разбился.
вывод DNVM при открытии решения:
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 FilesMicrosoft DNXDnvmdnvm.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 FilesMicrosoft DNXDnvmdnvm.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 FilesMicrosoft DNXDnvmdnvm.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
любые идеи как это исправить?
кроме того, я ранее установил VS 2015 Preview и DNX/DNVM отдельно. Но я думаю, я полностью удалил его перед установкой VS 2015. Может ли это как-то повлиять на текущую установку VS?
8 ответов
Это известная проблема.
ASP.NET 5: В Windows 7 SP1 DNX SDK не может быть установлен без В PowerShell 3.0.
симптомы
при создании ASP.NET 5 проект, появляется следующее сообщение об ошибке:
DNX SDK версия ' dnx-clr-win-x86.1.0.0-beta5' не удалось установить. Этот решение будет использовать версию DNX SDK "dnx-clr-win-x86-1.0.0-beta5" для этот сеанс
решение
чтобы обойти эту проблему, установите Windows Powershell 3.0 (или выше) и повторите попытку создания проекта. Чтобы увидеть текущую версию PS, запустите (подробности).
ссылки:
установить последнюю версию открыв консоль и работает:
dnvm upgrade
Если вы снова откроете VS, вы сможете скомпилировать.
Если это не работает, попробуйте удалить C:\Users\username\.dnx
папка. Откройте VS, и он воссоздаст .папка dnx в том же месте только с 2 скриптами: bin\dnvm.cmd и bin\dnvm.ps1 Примечание: это удалит все уже установленные среды выполнения.
повтор dnvm upgrade
и проверить свойства проекта, если решение DNX SDK версия у вас есть совпадения с установленным.
у меня также есть эта проблема. Похоже, это связано с проблемой, где dnvm.сценарий ps1 не цитирует путь установки. Команда dnvm install "C:\Program Files (x86)\Microsoft Web Tools\DNX\dnx-clr-win-x86.1.0.0-beta5.nupkg"
из Visual Studio вспоминается как dnvm-install C:\Program Files (x86)\Microsoft Web Tools\DNX\dnx-clr-win-x86.1.0.0-beta5.nupkg
, который ломается, поскольку путь должен быть указан. Более подробная информация доступна по запросу pull, который я открыл по адресу:
https://github.com/aspnet/dnvm/pull/357
в качестве обходного пути, решение для меня было изменить следующим в "C:\Program Файлы\Microsoft DNX\Dnvm\dnvm.ps1". Это перебирает аргументы, гарантируя, что любые содержащие пробелы или круглые скобки цитируются.
замените следующую строку:
$cmdargs = @($args[1..($args.Length-1)])
С:
# 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 += " "
}
если у вас все еще есть проблемы после внесения этого изменения, удалите C:\Users\username\.dnx
и откройте Visual Studio, чтобы позволить Visual Studio воссоздать папку.
Я мог бы исправить это таким образом: В командной строке разработчика для 2015 введите эту команду
dnvm установить 1.0.0-beta5
конечно, этот способ может исправить вашу проблему.!
моя версия powershell была 3.0, затем я:
- установите powershell V. 4 из:
https://www.microsoft.com/en-us/download/details.aspx?id=40855
- перезагрузите windows
Это решает мою проблему.
У меня была аналогичная проблема ранее сегодня, и способ, которым мне удалось решить ее после прочтения комментариев на этой странице, был очень прямым.
прежде всего, я должен сказать, что у меня уже был установлен PowerShell 3.0 (не установленный, похоже, является основным источником этой проблемы для большинства людей), и все же у меня все еще была эта же проблема.
поэтому вместо того, чтобы редактировать и изменять сценарии powershell, чтобы заставить их работать с путями с пробелами и т. д., Как было предложено, я просто сделал следующее (намного проще):
1.- Иди в ... C:\Program файлы (x86)\Microsoft Web Tools\DNX" в проводнике Windows и "копировать" все его содержимое (в основном все пакеты и их подпапки)
2.- "Вставить" все это содержимое в путь без пробелов. Я использовал "C:\Temp\"
3.- Выполните следующие команды в командной строке (обратите внимание, что теперь в местах пути нет пробелов указано)
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.- Откройте решение Visual Studio сейчас и на вкладке Проект - > свойства - > приложение, там теперь вы можете указать версию DNX SDK, которую вы хотите использовать из тех, которые теперь доступны
5.- Перестройте свое решение, и теперь все должно быть хорошо
молодец!
попробовать
dnvm update-self
dnvm install -u -r clr -OS win -a x86 beta5 -ngen
важны (нестабильная) и beta5
версия строки.
Если у кого-то есть проблемы с dnx, недоступные в Visual Studio 2015 при просмотре некоторых устаревших учебников ( например, меня), проверьте ниже ссылке
выпуск RC2 .NET Core и ASP.NET ядро 1.0 перемещено из DNX к CLI .NET Core.
в таблице на связанной странице вы будете сопоставление между командами DNX/DNU и их аналогами CLI. например:
dnx run
становится dotnet run