.NET和DLL在几个项目中

时间:2010-01-12 16:05:13

标签: .net dll

我目前的问题是我有一个DLL,它有一个类我用作数据库映射器的抽象。我在访问数据库的所有项目(包括其他类库/ dll)中使用此DLL。我的问题是,每次我更新我的Data Mapper dll时,我都必须在我的主项目中使用的所有其他dll中更新它(现在这意味着其他3个类库)。当我尝试在我的主项目上调试dll库时,对于每个小的更改都会变成很多工作。有没有更好的方法来解决这个问题?

感谢。

2 个答案:

答案 0 :(得分:2)

如果我已正确理解这个问题,这里有两种可能性:

  • 在各种项目中引用项目源而不是程序集。
  • 创建一个后期构建任务,将您的共享程序集dll复制到其他项目可以从中访问的中心位置。类似的东西:

    复制“$(TargetPath)”$(SolutionDir)SharedAssemblies \ $(TargetFileName)

答案 1 :(得分:0)

从您的问题的措辞来看,您似乎正在链接到LINQ之类的映射器,并且使用它生成的类是您的模型类,因此在重新编译时会导致全部更改。

如果是这种情况: 您可能需要考虑创建自己的模型并将它们映射到生成的数据映射器类。看看Repository Pattern之类的东西。然后,您基本上在数据映射器上方创建一个层,并且您的应用程序使用该层。

如果情况并非如此:

  • 不要引用dll,参考 该项目。
  • 编译所有你的 组装成一个,或者你可以使用 像ILMerge这样的东西 一个集会也是如此。