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



сегодня я установил VS 2015 на Windows 7 x64. В основном для тестирования новых функций .Net Core и т. д. И для теста я создал новое решение c# "консольное приложение (пакет)" и получил это сообщение:

версию DNX СДК '.1.0.0-beta5' не удалось установить. Решение будет использовать DNX на-КЗР-беспроигрышный х86 версию DNX СДК‘.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   58  

8 ответа:

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

ASP.NET 5: В Windows 7 с пакетом обновления 1, DNX SDK не может быть установлен без Powershell 3.0.

симптомы

при создании ASP.NET 5 проект, появляется следующее сообщение об ошибке:

версию DNX СДК '.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 Version у вас есть совпадения с установленным.

у меня тоже есть эта проблема. Похоже, это связано с проблемой, когда сценарий 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 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 воссоздать папку.

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

dnvm установить 1.0.0-beta5

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

моя версия powershell была 3.0, тогда я:

  1. установите powershell V. 4 из:

https://www.microsoft.com/en-us/download/details.aspx?id=40855

  1. перезагрузите 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 в части .Объем ядра и ASP.NET процессор 1.0 переехал из DNX на на .Объем основной Кинк.

в таблице на связанной странице вы будете сопоставление между командами DNX/DNU и их аналогами CLI. например:

dnx run становится dotnet run