Подтвердить что ты не робот

Как исправить DNX/DNVM в Visual Studio 2015?

Сегодня я установил VS 2015 на Windows 7 x64. В основном, чтобы протестировать новые .Net Core и т.д. И для тестирования я создал новое решение С# "Console Application (Package)" и получил это сообщение:

Версия DNX SDK "dnx-clr-win-x86.1.0.0-beta5" не смогла установить. Решение будет использовать версию DNX SDK 'dnx-clr-win-x86.1.0.0-beta5 для этого сеанса.

Я не могу скомпилировать и отлаживать проект. Кроме того, когда я открыл вкладку отладки в свойствах проекта, тогда VS разбился.

Выход 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 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

Есть идеи, как это исправить?

Кроме того, я предварительно установил VS 2015 Preview и DNX/DNVM отдельно. Но я думаю, я полностью удалил его до установки VS 2015. Может ли это повлиять на текущую установку VS?

4b9b3361

Ответ 1

Это известная проблема.

ASP.NET 5: в Windows 7 SP1 SDK DNX не может быть установлен без 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, запустите команду $PsVersionTable (подробнее).

Ссылки:

Ответ 2

Установите последнюю версию, открыв консоль и запустив ее:

dnvm upgrade

Если вы снова открываете VS, вы должны скомпилировать.

Если это не сработает, попробуйте удалить папку C:\Users\username\.dnx. Повторно запустите VS и он заново создаст папку .dnx в том же месте, где будет всего 2 скрипта: bin\dnvm.cmd и bin\dnvm.ps1. Примечание. Это приведет к удалению всех уже установленных сред выполнения.

Rerun dnvm upgrade и проверьте свойства проекта, если версия решения DNX SDK соответствует установленному.

Ответ 3

У меня также есть эта проблема. Похоже, что это связано с проблемой, когда dnvm.ps1 script не указывает путь установки. Команда 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, который прерывается по мере того, как путь должен быть указан. Дополнительная информация доступна по запросу на растяжение, которое я открыл по адресу:

https://github.com/aspnet/dnvm/pull/357

В качестве обходного решения решение для меня состояло в том, чтобы изменить следующее в "C:\Program Files\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 заново создала папку.

Ответ 4

Я мог бы исправить это следующим образом: В командной строке Developer Command для 2015 введите эту команду

dnvm install 1.0.0-beta5

уверен, что этот способ поможет исправить вашу проблему.!

Ответ 6

У меня была аналогичная проблема ранее сегодня, и способ, которым я смог ее решить после прочтения комментариев на этой странице, был очень прямым.

Прежде всего, я должен сказать, что у меня уже установлен PowerShell 3.0 (не для того, чтобы установить его, кажется, основным источником этой проблемы для большинства людей), и все же у меня все еще была такая же проблема.

Поэтому вместо необходимости редактировать и изменять скрипты powershell, чтобы заставить их работать с путями с пробелами и т.д., как это было предложено, я просто сделал следующее (намного проще):

1.- Перейдите в "C:\Program Files (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 и на вкладке Project → Properties → Application там, где вы теперь можете указать версию SDK SDK, которую вы хотите использовать, из тех, которые у вас теперь доступны

5.- Восстановите свое решение, и теперь оно должно быть прекрасным.

Приятный!

Ответ 7

попробовать

dnvm update-self
dnvm install -u  -r clr  -OS win  -a x86  beta5 -ngen 

важны параметр -u (неустойчивый) и строка версии beta5.