我是否需要在两个项目中添加相同的引用?

时间:2012-10-10 18:30:58

标签: .net visual-studio

由于我是.NET开发的新手,我认为这是一个概念问题。

我的解决方案中有3个项目:

  1. Foo.Core:一个引用Fluent NHibernate,NHibernate和Npgsql的类库。这是我的业务层,包含服务,实体和NHibernate映射。
  2. Foo.Core.Tests:一个类库,其中的测试引用了NUnit和 Foo.Core ;
  3. Foo.MVC:仅引用 Foo.Core ;
  4. 的MVC应用程序

    Foo.Core 中,我有一个FooService,其GetFoo方法从数据库中返回Foo(实体)实例。

    在MVC项目中,我创建了FooService的实例并调用GetFoo,但它引发了一个异常,即无法创建NpgsqlDriver实例。如果我添加对Npgsql的引用,它可以工作。

    Foo.Core 已经 对驱动程序的引用,并在那里打开连接。为什么我需要再次在MVC项目中引用驱动程序?

    修改

    经过更多搜索,我找到了this link。如果引用的是在GAC中,则构建会忽略复制本地,但我检查了Npgsql.dll并未在那里注册。

1 个答案:

答案 0 :(得分:0)

检查是否已在Foo.Core中对Npgsql的引用中将“Copy Local”设置为true(在解决方案资源管理器中选择引用,然后单击F4以查看属性)。

如果设置为true,则无需在Foo.MVC中添加引用。