如何避免在同一解决方案下的两个项目中重复dll依赖

时间:2015-07-23 09:56:08

标签: c# mysql.data

设置

我在同一解决方案下有两个C#项目:

ProjectA
ProjectB

ProjectA的引用指向ProjectB

ProjectB包含对MySql.Data ADO.Net驱动程序的引用,这意味着app.config需要这些配置行:

<DbProviderFactories>
  <remove invariant="MySql.Data.MySqlClient" />
  <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.9.7.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>

问题

当我执行mysql操作时,ProjectA会调用ProjectB。然后ProjectB调用MySql.Data。但正在使用的app.config是来自ProjectA(启动项目)的那个。

所以,如果我想同时兼顾:

  1. 仅测试ProjectB
  2. 测试ProjectAProjectB
  3. 之间的互动

    ...我是否需要在两个项目中引用MySql.Data,并且两者中都重复相同的<DbProviderFactories>? (app.config问题可以通过在两个项目中使用对同一个问题的引用来解决,但MySql.Data依赖关系是最困扰我的问题。

    我做错了吗? /有什么方法可以简化事情吗?

    感谢。

0 个答案:

没有答案