C#多个项目引用相同的dll - 更新dll的简单方法是什么?

时间:2012-04-05 00:08:00

标签: c# .net

我很好奇其他人是怎么做的,或者是否有更简单的方法...

我有多个引用相同DLL的项目,即nhibernate.dll。 这些dll存储在NHibernate-3.2.0等版本文件夹中。 如果出现了新版本并且我们要升级到它,我们会创建一个新的版本文件夹,并且需要将所有引用项目更新到新的dll。

有没有更简单的方法呢?像一些引用nhibernate的中心项目(让我们称之为REF_PROJ),所有其他项目只引用REF_PROJ? 因此,新版本的更新只能在一个中心位置REF_PROJ进行。

3 个答案:

答案 0 :(得分:2)

您的解决方案是一种方式。恕我直言的“更好”方式是使用nuget packages。具体来说是the nhibernate nuget package。然后,您可以右键单击解决方案,并在新版本发布时更新所有nhibernate软件包。

编辑:添加到其他答案。如果您希望使用针对程序包中特定版本程序集的特定版本的nuget包,请在从程序包管理器控制台安装时使用--version。

答案 1 :(得分:1)

只有一个根文件夹,而不是特定于版本。或者,如果您确实需要特定版本,则需要2个副本 - 一个位于根文件夹中,另一个位于特定于版本的文件夹中。

这是我的意思的一个例子。

的nhibernate

- > nhibernate 3.2

----> nhibernate.dll

- > nhibernate.dll

答案 2 :(得分:0)

另一种解决方案是使用GAC

将程序集注册到gac中,并在不指定程序集版本的情况下从多个项目添加对它的引用。并使用gac util轻松更新。