71

私は3つのプロジェクトで解決策を持っています:

  • インターフェイス IParseRule を定義する ParsersBase
  • ParsersBase への参照を持ち、クラス HtmlImageUrlParseRule を定義する ParsersLibrary: IParseRule
  • ParsersBase および ParsersLibrary への参照を持ち、いくつかのテスト メソッドでテスト クラスを定義する ParsersLibraryTest

ビルドしようとすると、次の警告が表示されます。

タイプ「AVSoft.ParsersBase.IParseRule」への参照は、「c:\Users\Tim\Dropbox\projects\Image Downloader\ParsersLibrary\bin\Debug\ParsersLibrary.dll」で定義されていると主張していますが、見つかりませんでした

VS がAVSoft.ParsersBase.IParseRuleParsersLibrary.dll で検索しようとしているのはなぜですか? ParsersLibraryTest には ParsersBase への参照がありますが、意味がありません。

4

18 に答える 18

23

これが発生する別の方法は、複数の NuGet パッケージを使用していて、1 つの (おそらく中心的な) パッケージが更新されているが、いくつかの追加機能パッケージが更新されていない場合です。

私の最近の例を処理するには、エラーは「タイプ 'ConsumerSubscriptionConfigurator<>' への参照は、それが 'MassTransit' で定義されていると主張していますが、見つかりませんでした」でした。これは、MassTransitを 2 から 3 に更新したが、他のオプション パッケージ ( MassTransit.log4netおよびMassTransit.Autofac ) の一部を同じバージョン番号に更新していないためです。もう 1 つの追加機能を使用しようとするまで、アセンブリのリダイレクトによってすべてが機能しているように見えます。

于 2016-11-02T16:48:58.540 に答える
16

同様の問題がありました。サイトは、bin ディレクトリにデプロイしたものではなく、キャッシュされたバージョンの dll を実行していました。一時的なasp.netフォルダーの内容をクリアしたところ、問題は解決しました。

于 2014-02-25T14:16:01.957 に答える
15

それは私のせいで、最初に ParsersLibrary プロジェクトを作成し、その名前を ParsersBase に変更しましたが、アセンブリ名の名前を変更しなかったため、ParsersLibrary プロジェクトを再度追加しました。

2 つのプロジェクトのアセンブリ名が同じで、あまり良くありませんね。:) アセンブリが互いにオーバーラップするため、このエラーが発生します。

于 2013-10-20T08:48:26.953 に答える
3

今日、この例外に遭遇しました。私の場合の問題はsome.package v2.1、ホストにsome.package v2.3インストールし、他のプロジェクトにインストールしたことでした。Update-Packageホスト プロジェクトv2.3で問題を修正しました。

于 2016-03-01T00:25:24.677 に答える
0

ParsersLibraryTest は ParsersBase を参照する必要があります。エラーの 2 番目の部分は、「アセンブリ 'ParsersBase... への参照を追加する必要があります」と表示されます。

于 2013-10-19T19:23:42.387 に答える
0

私はしばらくの間このエラーに苦労してきましたが、ついにそれを回避しました。これがそれを再現する方法と私がそれを修正した方法です。

問題は、パッケージが右クリック -> 参照の追加 -> 参照 (選択) で参照されていたことです。その後、NuGet パッケージとして再度追加されました。

解決策は次のとおりです。

  • 追加された参照を削除します。
  • インストールされたパッケージを .csproj から削除します。
  • NuGet パッケージ マンガガーから必要なパッケージを再インストールします。
  • Visual Studio を閉じて、もう一度開きます。
  • クリーン プロジェクト。
  • プロジェクトをビルドします。

注: 参照ファイルを削除できなかった場合 (右クリックで [削除] オプションがない場合)、Visual Studio を閉じてから再度開いてみてください。または、参照された dll を削除または移動してから、再試行してください。

于 2019-10-23T10:59:48.397 に答える