Пакет Dnx Runtime должен быть установлен

В VS2015, работающем на компьютере с Windows 10 x64, я получаю сообщение об ошибке ниже при попытке создать веб-проект .net core.

The Dnx Runtime package needs to be installed. See output window for more details

Вот журнал выходного окна (только соответствующая часть)

1>Done building target "BeforeCompile" in project "WebApplication1.xproj".
1>       Target "_TimeStampBeforeCompile" skipped, due to false condition; ('$(RunPostBuildEvent)'=='OnOutputUpdated' or ('$(RegisterForComInterop)'=='true' and '$(OutputType)'=='library')) was evaluated as (''=='OnOutputUpdated' or (''=='true' and 'Library'=='library')).
1>     1>
1>Target "GetRuntimeToolingPathTarget" in file "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\DNX\Microsoft.DNX.targets" from project "C:\Users\v-prchep\Documents\Visual Studio 2015\Projects\WebApplication1\src\WebApplication1\WebApplication1.xproj" (target "CoreCompile" depends on it):
1>       Using "GetRuntimeToolingPath" task from assembly "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\DNX\Microsoft.DNX.Tasks.dll".
1>       Task "GetRuntimeToolingPath"
1>       Done executing task "GetRuntimeToolingPath".
1>       Using "Error" task from assembly "Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a".
1>       Task "Error"
1>     1>
1>C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\DNX\Microsoft.DNX.targets(126,5): error : The Dnx Runtime package needs to be installed. See output window for more details.
1>       Done executing task "Error" -- FAILED.
1>     1>
1>Done building target "GetRuntimeToolingPathTarget" in project "WebApplication1.xproj" -- FAILED.
1>     1>
1>Target "_CheckForCompileOutputs" in file "C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets" from project "C:\Users\v-prchep\Documents\Visual Studio 2015\Projects\WebApplication1\src\WebApplication1\WebApplication1.xproj" (target "_CleanGetCurrentAndPriorFileWrites" depends on it):
1>     1>
1>Done building target "_CheckForCompileOutputs" in project "WebApplication1.xproj".
1>       Target "_SGenCheckForOutputs" skipped, due to false condition; ('$(_SGenGenerateSerializationAssembliesConfig)' == 'On' or ('@(WebReferenceUrl)'!='' and '$(_SGenGenerateSerializationAssembliesConfig)' == 'Auto')) was evaluated as ('Off' == 'On' or (''!='' and 'Off' == 'Auto')).
1>     1>
1>Target "_CleanGetCurrentAndPriorFileWrites" in file "C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets" from project "C:\Users\v-prchep\Documents\Visual Studio 2015\Projects\WebApplication1\src\WebApplication1\WebApplication1.xproj" (target "_CleanRecordFileWrites" depends on it):
1>       Task "ReadLinesFromFile"
1>       Done executing task "ReadLinesFromFile".
1>       Using "ConvertToAbsolutePath" task from assembly "Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a".
1>       Task "ConvertToAbsolutePath"
1>       Done executing task "ConvertToAbsolutePath".
1>       Task "FindUnderPath"
1>         Comparison path is "C:\Users\v-prchep\Documents\Visual Studio 2015\Projects\WebApplication1\src\WebApplication1".
1>       Done executing task "FindUnderPath".
1>       Task "FindUnderPath"
1>         Comparison path is "..\..\artifacts\bin\WebApplication1\".
1>       Done executing task "FindUnderPath".
1>       Task "FindUnderPath"
1>         Comparison path is "..\..\artifacts\obj\WebApplication1\Debug\".
1>       Done executing task "FindUnderPath".
1>       Task "RemoveDuplicates"
1>       Done executing task "RemoveDuplicates".
1>     1>
1>Done building target "_CleanGetCurrentAndPriorFileWrites" in project "WebApplication1.xproj".
1>     1>
1>Target "_CleanRecordFileWrites" in file "C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets" from project "C:\Users\v-prchep\Documents\Visual Studio 2015\Projects\WebApplication1\src\WebApplication1\WebApplication1.xproj" (target "CoreBuild" depends on it):
1>       Task "RemoveDuplicates"
1>       Done executing task "RemoveDuplicates".
1>       Task "MakeDir"
1>       Done executing task "MakeDir".
1>       Task "WriteLinesToFile"
1>       Done executing task "WriteLinesToFile".
1>     1>
1>Done building target "_CleanRecordFileWrites" in project "WebApplication1.xproj".
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:00.02
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========

Заглянув в лог, я проверил Microsoft.DNX.targets файл и нашел эту строчку

<Error Text="The Dnx Runtime package needs to be installed. See output window for more details." Condition="!Exists('$(RuntimeToolingExe)')" />

Похоже, он пытается узнать путь dnx от $(RuntimeToolingExe), но я не могу понять, где он устанавливается.

Примечание. Среды выполнения dnx уже установлены, и я могу запустить приложение из командной строки, используя следующую команду

dnx web

Приложение работает нормально с этим. Я считаю, что это проблема с инструментами VS2015, которую я не могу понять. Не могли бы вы помочь мне в этом?

PS: выполнил все шаги, указанные в этой теме SO вроде ничего не работает.


person NaveenBhat    schedule 25.02.2016    source источник


Ответы (1)


Проблема окончательно решилась после удаления styleCop. Похоже, что StyleCop переопределял путь dnx, который искала Visual Studio. Однако это всего лишь предположение, я не совсем уверен, почему это сработало!

person NaveenBhat    schedule 29.02.2016
comment
У меня тоже была такая же проблема. Мне удалось отследить проблему до Microsoft.DNX.targets. Для параметра RuntimeToolingDirectory следует указать путь dnx и использовать версию/среду выполнения и т. д. в файле global.json для определения правильной среды выполнения. например %USERPROFILE%\.dnx\runtimes\dnx-clr-win-x86.1.0.0-rc1-update2 По какой-то причине с установленным stylecop просто использовалось имя версии, например. 1.0.0-rc1-update2. Я понятия не имею, почему, но большое спасибо, что указали мне на stylecop. Не подумал бы об этом и через миллион лет. - person Mark; 03.05.2016
comment
Что мне кажется странным, так это то, что я получаю это состояние только тогда, когда запускаю проект Empty. Если я выберу Веб-API или Веб-приложение (почти одно и то же, у API есть представления??), я не получаю такой ошибки, даже если установлен StyleCop. Занят установкой StyleCop, чтобы посмотреть, смогу ли я получить работающий Empty. Расширение ReSharper StyleCop мне больше подходит, так как оно работает в режиме реального времени. - person ProfK; 08.05.2016
comment
Я имел в виду, занят удалением StyleCop.... Это не помогло. Но в моем global.json он имеет только название версии: sdk: { version: 1.0.0-rc1-update1 } И мне интересно, почему я на update1 после вчерашнего запуска обновления 2 для VS2015. - person ProfK; 08.05.2016