我们有许多项目使用互操作& amp;相关的dll ...所有项目都有单独的dll参考设置,但基本上所有项目都使用相同的dll。所以如果任何dll在安装/取消安装设置时注册/取消注册,那么很多次都会产生问题。
我们需要将dll放在一个位置&所有项目都需要使用该位置的dll引用来避免注册/注销问题。但是想知道实际引用在.net中的依赖关系。
&安培;如果设置位置已更改或dll参考位置已更改,则上述方法可能会产生问题。
我们该怎么做呢?有什么更好的解决方案或解决方法吗?
感谢。
答案 0 :(得分:2)
就个人而言,我喜欢让我的所有应用程序都包含所有引用的DLL,原因如下:
但是如果您确实需要一个位置,则可以在全局程序集缓存中注册DLL。如果您使用像Wix这样的部署工具,这非常简单。或者,您可以使用自定义操作在GAC中进行注册
答案 1 :(得分:0)
将程序集/ interop dll放入全局程序集缓存(GAC)。
参考文献:
如何将非托管dll部署到GAC中 http://blogs.msdn.com/yizhang/archive/2007/06/17/how-to-deploy-unmanaged-dll-into-gac.aspx
全球大会缓存
http://msdn.microsoft.com/en-us/library/yf1d93sz.aspx
答案 2 :(得分:0)
使用Merge modules:合并模块提供了一种标准方法,开发人员可以通过该方法将共享的Windows Installer组件和设置逻辑提供给其应用程序。 ...
此link可能对“Visual Studio安装项目合并模块”有帮助或只是谷歌。