我很好奇其他人是怎么做的,或者是否有更简单的方法...
我有多个引用相同DLL的项目,即nhibernate.dll。 这些dll存储在NHibernate-3.2.0等版本文件夹中。 如果出现了新版本并且我们要升级到它,我们会创建一个新的版本文件夹,并且需要将所有引用项目更新到新的dll。
有没有更简单的方法呢?像一些引用nhibernate的中心项目(让我们称之为REF_PROJ),所有其他项目只引用REF_PROJ? 因此,新版本的更新只能在一个中心位置REF_PROJ进行。
答案 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轻松更新。