web-dev-qa-db-ja.com

ASP.NET Core ScaffoldingはVS 2017では機能しません

Visual Studio 2017に初心者のASP.NET Coreプロジェクトがあり、HelloWorldの足場段階にいます。足場が機能しません、最初のコンピューターでテストし、次に2番目のコンピューターでテストしました...

ビュー付きのコントローラを生成しようとすると enter image description here 、最初のマシンで次のエラーが発生します:

Microsoft Visual Studio


エラー

選択したコードジェネレーターの実行中にエラーが発生しました:

'未処理の例外:System.IO.FileNotFoundException:ファイルまたはアセンブリ' Microsoft.VisualStudio.Web.CodeGeneration.Utils、Version = 1.1.1.0、Culture = neutral、PublicKeyToken = adb9793829ddae60 'を読み込めませんでした。システムは、指定されたファイルを見つけることができません。 Microsoft.VisualStudio.Web.CodeGeneration.Design.Program.Main(String [] args) '


OK

2台目のマシン:

Microsoft Visual Studio


エラー

選択したコードジェネレーターの実行中にエラーが発生しました:

'エラー:依存関係マニフェストで指定されたアセンブリが見つかりませんでした-パッケージ:' Microsoft.applicationinsights.aspnetcore '、バージョン:' 2.1.0 '、パス:' lib/netstandard1.6/Microsoft.ApplicationInsights.AspNetCore.dll ''


OK

9
Serge

次は私のために働きます。

binobjフォルダーを削除し、プロジェクトを再度ビルドすると機能します。

エラーが発生した場合:debugフォルダーでproject.deps.jsonが見つかりませんでした。

プロジェクトをdebugに設定して実行すると、足場アイテムを追加できます。

10
Sohail Riaz

コンソールからのコマンドでローカルNuGetキャッシュをクリアします。

dotnet nuget locals all --clear

すべてのパッケージを復元

NuGetパッケージをインストール(または更新)Microsoft.CodeAnalysis.CSharp.Workspaces バージョン 2.0.0(またはそれ以上)編集:バージョン2.3.0と2.3.1を継ぎ合わせると、いくつかの問題が発生します。 MSがこの問題を解決するまで、最大で2.2.0を使用してください(https://github.com/dotnet/roslyn/issues/20873)。

すべてのパッケージを再度復元し、スキャフォールディングを試みます。

それでうまくいきました。

プロジェクトでこれらのパッケージを正しく参照していることを確認してください。

<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="1.1.1" />

<DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.1" />

私のプロジェクトはAsp.Net Core 1.1.2およびVS2017 Community

5
AngelDown

私も同じ状況です。 .netコアバージョン2.2およびVS 2017 Enterprise。

次の指示は私のためにheplsします:

  • 管理者権限でVSを開きます。
  • ソリューションをVSにロードする
  • 足場メニューからコントローラーを追加します。 VSは「Microsoft.VisualStudio.Web.CodeGeneration.Design」および「Microsoft.VisualStudio.Web.CodeGeneration.Tools」パッケージをインストールします。
  • vSを閉じる
  • vSを開いてプロジェクトをロードします。 scaffloadingを介してコントローラーを追加することは正常に機能しています

たぶん、この指示は誰かを助ける、ありがとう。

5
Andrey R

microsoft.VisualStudio.Web.CodeGeneration.Designのバージョンを、Microsoft.AspNetCore.Appのバージョンとまったく同じように変更する必要があります。

2
Mohammad Rajabi

Asp.netコアのバージョン3.0.0をインストールして次のコマンドを実行しようとしたため、同じエラーが発生しましたコマンド:dotnet aspnet-codegenerator controller -name MoviesController -m Movie -dc MvcMovieContext --relativeFolderPath Controllers --useDefaultLayout --referenceScriptLibraries

エラー:足場に失敗しました。ファイルまたはアセンブリ 'Microsoft.VisualStudio.Web.CodeGeneration、Version = 3.0.0.0、Culture = neutral、PublicKeyToken = adb9793829ddae60'を読み込めませんでした。システムは、指定されたファイルを見つけることができません。

  • 解決:

dotnet nuget locals all --clear

dotnetパッケージMicrosoft.VisualStudio.Web.CodeGeneration.Utilsを削除

バージョン2.2.0のPackageRefereを変更する

コマンドを再実行してください。 dotnet aspnet-codegenerator controller -name MoviesController -m Movie -dc MvcMovieContext --relativeFolderPath Controllers --useDefaultLayout --referenceScriptLibraries

1
Alex Vieira