2

Windows 10 x64 マシンで実行されている VS2015 で、.net coreWeb プロジェクトをビルドしようとすると以下のエラーが発生します。

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 スレッドで提供されているすべての手順に従っても、何も機能していないようです。

4

1 に答える 1

4

styleCopをアンインストールすると、問題は最終的に解決しました。dnxVisual Studio が探していたパスを StyleCop がオーバーライドしていたようです。ただし、これは単なる推測であり、なぜ機能したのかは特にわかりません。

于 2016-02-29T05:32:05.197 に答える