私は .NET 開発に不慣れなので、これはコンセプトの問題だと思います。
私のソリューションには 3 つのプロジェクトがあります。
- Foo.Core: Fluent NHibernate、NHibernate、および Npgsql を参照するクラス ライブラリ。これは、サービス、エンティティ、NHibernate マッピングを含む私のビジネス レイヤーです。
- Foo.Core.Tests: NUnit およびFoo.Coreを参照するテストを含むクラス ライブラリ。
- Foo.MVC: Foo.Coreのみを参照する MVC アプリケーション。
Foo.Coreには、データベースから (エンティティ) インスタンスを返すメソッドがあります。FooService
GetFoo
Foo
MVC プロジェクトでは、 のインスタンスを作成してFooService
呼び出しGetFoo
ますが、NpgsqlDriver インスタンスを作成できなかったという例外が発生します。Npgsql への参照を追加すると、機能します。
Foo.Coreには既にドライバーへの参照があり、そこで接続が開かれます。MVC プロジェクトでドライバーを参照する必要があるのはなぜですか?
編集
さらに検索した後、このリンクを見つけました。GAC で参照されている場合、ビルドはCopy Localを無視しますが、確認したところ Npgsql.dll がそこに登録されていません。