web-dev-qa-db-ja.com

エラー:型への参照は、それが定義されていると主張していますが、見つかりませんでした

私は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がParsersLibrary.dllでAVSoft.ParsersBase.IParseRuleを見つけようとしているのはなぜですか? ParsersLibraryTestにはParsersBaseへの参照がありますが、意味がありません。

40
Tim Rudnevsky

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

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

10
Tim Rudnevsky

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

13
wiseowl2828

このエラーはさまざまなシナリオをカバーしているようです。私の場合、Visual Studioを閉じて再度開くことがコツでした。 Visual Studioを再起動した後、期待どおりにプロジェクトをビルドできました。

10
Scott Simontis

私は同様の問題を抱えていました: 'Func <>'型への参照は 'mscorlib'で定義されていると主張していますが、見つかりませんでした。問題は次のとおりです。私のソリューションにはTarget Framework = 3.5があり、フレームワーク4.0に対して構築されたMicrosoft.Practices.Prism v 4.0への参照を追加しました。

ターゲットフレームワークを4.0に変更した後、動作しました

4
Alexandra Sh

今日、この例外を見つけました。私の場合の問題は、私がsome.package v2.1ホストにインストールされ、some.package v2.3他のプロジェクトにインストールされています。 Update-Packageホストプロジェクトのv2.3問題を修正しました。

2
Chris Marisic

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

0
Slugart

このエラーを克服できる唯一の方法は、関連するすべてのnugetパッケージを強制的にアンインストールしてから再インストールすることでした。悲しいが本当。

0
BornToCode

私は同様の問題を抱えていました:タイプ 'Func <>'への参照は 'mscorlib'で定義されていると主張しますが、見つかりませんでした。私は.Net 4のlibを参照しています.Net 3.5プログラム。両方を4.61にアップグレードした後、機能しました。

.Net 3.5ではFunc<T>が欠落しており、そのサンプルアプリをアップグレードするだけで十分だったようです。

さらなる経験:誰かがFunc<T>パラメーターを使用するライブラリプロジェクト(.Net 4)に署名を追加しました。しかし、サンプルプログラム(3.5)は既に存在し、これまでのところ正常に実行されました。しかし、再コンパイル時に、依存関係の依存関係が衝突しました。 mscorelib-3.5が既にロードされていたため。すべてはコンパイル時に行われます。

0
Robetto

上記の回答をすべて試してみましたが、私の問題は解決しませんでした。

最後に、最新のコード(GIT)をチェックインしてから、リポジトリを別の場所に複製しました。

理想的ではありませんが、少なくとも問題は解決しました。

0
Kyle Barnes