0

私は .NET 開発に不慣れなので、これはコンセプトの問題だと思います。

私のソリューションには 3 つのプロジェクトがあります。

  1. Foo.Core: Fluent NHibernate、NHibernate、および Npgsql を参照するクラス ライブラリ。これは、サービス、エンティティ、NHibernate マッピングを含む私のビジネス レイヤーです。
  2. Foo.Core.Tests: NUnit およびFoo.Coreを参照するテストを含むクラス ライブラリ。
  3. Foo.MVC: Foo.Coreのみを参照する MVC アプリケーション。

Foo.Coreには、データベースから (エンティティ) インスタンスを返すメソッドがあります。FooServiceGetFooFoo

MVC プロジェクトでは、 のインスタンスを作成してFooService呼び出しGetFooますが、NpgsqlDriver インスタンスを作成できなかったという例外が発生します。Npgsql への参照を追加すると、機能します。

Foo.Coreには既にドライバーの参照があり、そこで接続が開かれます。MVC プロジェクトでドライバーを参照する必要があるのはなぜですか?

編集

さらに検索した後、このリンクを見つけました。GAC で参照されている場合、ビルドはCopy Localを無視しますが、確認したところ Npgsql.dll がそこに登録されていません。

4

1 に答える 1

0

Foo.Core の Npgsql への参照に「ローカルにコピー」が設定されていることを確認しますtrue(ソリューション エクスプローラーで参照を選択し、F4 をクリックしてプロパティを表示します)。

true に設定すると、Foo.MVC に参照を追加する必要がなくなります。

于 2012-10-10T19:27:21.007 に答える