0

私のc#ソリューションエクスプローラーには2つのプロジェクトがあります。最初のプロジェクトには、NHibernateを使用したデータベースへのログインなどのヘルパークラスが含まれています。2番目のプロジェクトには、GUIやそのコントローラーなどのプログラムのメインファイルが含まれています。

2番目のプロジェクトでヘルパークラスの関数を使用したいので、2番目のプロジェクトは最初のプロジェクトを参照します。すべての参照(NHibernate.dll、Log4Net.dllなど)を使用してヘルパープロジェクトをコンパイルできます。

2番目のプロジェクトでは、次の問題に直面します。そこでは、Log4Net.dllなどの最初のプロジェクトにすでに含まれているいくつかの参照も使用します。もちろん、ヘルパープロジェクトの機能を使用したいので、その参照を追加しました。新しくすべての参照を作成すると、すべてが正常になりますが、2番目のプロジェクトをコンパイルすると、すべての参照がなくなります。それらはまだ参照フォルダーにありますが、クラスファイルでは参照に赤い下線が引かれ、VS 2010 Expressは、タイプ/名前空間が見つからなかった(ディレクティブまたはアセンブリ参照を使用していない)ことを通知します。

参照を削除して新しい参照を作成すると機能しますが、プロジェクトをコンパイルすると同じことが再び発生します。

私は何が間違っているのですか?

4

2 に答える 2

4

私が最初に確認したいのはターゲットファームワークです。おそらく、最初のプロジェクトを2番目のプロジェクトよりも高いバージョンのフレームワークにターゲットにしていますか?次に、2番目のプロジェクトを最初のプロジェクトと同じターゲットフレームワークに設定してみて、それが役立つかどうかを確認します。

于 2012-12-17T09:44:20.390 に答える
1

最初のプロジェクトは.net4.0(フル)フレームワークを対象としており、2番目のプロジェクトは.net4.0クライアントフレームワークを対象としていると思います。

2番目のプロジェクトを変更して、.net 4.0(フル)フレームワークもターゲットにするようにします。

于 2012-12-17T09:51:06.847 に答える