プラグイン プロジェクトを直接参照し、プラグイン クラスをインスタンス化して、プラグインのコア クラスをテストしたいと考えています。テスト コンソール アプリ プロジェクトを作成し、プロジェクト参照をプラグイン プロジェクトに追加すると、参照リストの参照の横に警告アイコン (感嘆符付きの黄色の三角形) が表示されます。
代わりに、プラグインのアセンブリ ビルド出力である dll への参照を追加すると、そのような警告は表示されません。この警告は何を伝えようとしているのでしょうか?
プラグイン プロジェクトを直接参照し、プラグイン クラスをインスタンス化して、プラグインのコア クラスをテストしたいと考えています。テスト コンソール アプリ プロジェクトを作成し、プロジェクト参照をプラグイン プロジェクトに追加すると、参照リストの参照の横に警告アイコン (感嘆符付きの黄色の三角形) が表示されます。
代わりに、プラグインのアセンブリ ビルド出力である dll への参照を追加すると、そのような警告は表示されません。この警告は何を伝えようとしているのでしょうか?
一緒に使用するプロジェクトの両方 (またはすべて) について:
プロジェクトを右クリック > プロパティ > アプリケーション > ターゲット .NET フレームワーク
プロジェクトの両方 (またはすべて) が同じ .NET Framework バージョンを使用していることを確認してください。
参照されている DLL の NETFramework と、DLL を追加するプロジェクトを確認してください。例: DLL ==> supportedRuntime version="v4.0" プロジェクト ==> supportedRuntime version="v3.0"
警告アイコンが表示されます。解決策 : dll のバージョンを統一します。
この質問が出されてから長い時間が経ちましたが、誰かがまだ興味を持っている場合は、最近似たようなアイコンに出くわしました。VS 2008 を使用して C#.net プロジェクトをコンパイルしていました。VS がこれらの参照のアセンブリを見つけられないことがわかりました。VSをダブルクリックすると、参照が更新され、それらのいくつかのアイコンが削除されました[編集:現在見つけられる]。残りの参照については、それぞれのアセンブリをコンパイルする必要がありました。
@ kad81 の回答に 2 セントを追加すると、
Visual Studio に移動 -> ビルド -> 構成マネージャー
右上隅の [Active Solution Platform] ドロップダウン (私の場合は VS 2012) で、[Mixed Platforms] の場合は、参照するサード パーティ アセンブリに基づいて適切なプラットフォームに変更します。
次に、リスト内の各プロジェクトで、すべてのプロジェクトに対して同じプラットフォームを選択していることを確認してください。(x86 が存在しない場合は、"" を選択すると、"x86" を選択できます。)
最初にライブラリ プロジェクトを再ビルドしてから、プロジェクトを参照します。お役に立てれば。
別の理由でこれらのアイコンがありました。すべてのプロジェクト (ほぼ 100) に対して 1 つの大きなソリューションがあります。興味のあるプロジェクトをサブセレクションし、新しいソリューションを作成しました。ただし、コンパイルされたdllへの参照ではなく、プロジェクトが参照する参照....
いくつかの調査の後、これが VS2015 の新しい動作であることを説明するGitHub でこのリンクを見つけました。
GitHub ページで、プロジェクト参照をバイナリ参照に変換するための回避策が説明されています。
新しいスタイルの Sdk プロジェクトを使用している場合は、参照しているプロジェクトの Library の値を持つ ProjectGroup 要素に OutputType を追加します。また、参照しているプロジェクト内にあり、設定なしでプロジェクトを参照している場合も問題になります。