エラー:参照の追加に失敗しました。パッケージ「SimpleInjector.Integration.WebApi.WebHost.QuickStart」は、GACに見つからなかった「Microsoft.Web.Infrastructure」へのフレームワーク参照を追加しようとしました。これはおそらくパッケージのバグです。パッケージの所有者に連絡してください。アセンブリ 'Microsoft.Web.Infrastructure'が見つかりません。
まず第一に。プロジェクトにdllとそれへの参照があるときにエラーが発生するのはなぜですか?第二に。これを修正するにはどうすればよいですか?
明らかに、Mircosoftのさまざまなガイドを使用して、アセンブリをGACに追加しようとしました。それらのどれも意味のあるimoではありません。
https://docs.microsoft.com/en-us/dotnet/framework/app-domains/how-to-install-an-assembly-into-the-gacこれにより、「キャッシュへのアセンブリの追加に失敗しました:システム指定されたファイルが見つかりません。」これは、キーペアなどで強く型付けされた名前ではないためだと思います。だから私はこのhttps://docs.microsoft.com/en-us/dotnet/framework/app-domains/how-to-sign-an-assembly-with-a-strong-nameを調べましたが、これはまったく意味がありません。「[厳密な名前のキーファイルの選択]ボックスで、を選択し、キーファイルに移動します。新しいキーファイルを作成するには、[厳密な名前のキーの作成]ダイアログボックスでその名前を選択して入力します。
どのキーファイルですか?新しいものを作成して、ランダムな名前を思い付くだけですか?Wtf?それは特定のアセンブリとどのように関連していますか?
@Schadensbegrenzerと@ LeoLiu-MSFTが指摘したように、Infrastrcutureアセンブリは(もはや).NETフレームワークの一部ではありません。
この問題は、SimpleInjectorsリポジトリのバグとして報告されています:https://github.com/simpleinjector/SimpleInjector/issues/509
パッケージ所有者のソリューション:
「この問題をv4.1バックログに追加し、NuGetパッケージ(およびSimpleInjector.Integation.MVC3のパッケージ)をv4.1で修正します。
それまでの間、Microsoft.Web.InfrastructureNuGetパッケージをWebAPIプロジェクトに手動で追加するか、SimpleInjector.Integration.WebApi.WebHost.QuickStart NuGetパッケージをプロジェクトに追加せず、SimpleInjector.Integration.WebApiのみを追加することができます。 NuGetパッケージを作成し、必要なコードを手動で追加します。WebHost.QuickStartパッケージは、実際には、アプリケーションにコードを挿入している間は、統合パッケージへの参照にすぎません。
ドキュメントのWebAPI統合ページでは、SimpleInjectorを使用してWebAPIプロジェクトを設定する方法について説明しています。」
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加