事实:
我想要实现的是为B和C创建安装文件。
我也希望他们使用相同的 DLL 文件 A。
因此,如果我将带有
B 1.0
的 A 1.0
安装到机器上,然后安装带有 C 1.2
的 A 1.2
,我希望 B 使用 A 的更新版本。
我该怎么做?
我考虑将 DLL 文件保存到安装程序的公共位置并使用应用程序动态加载它,但我不确定。这里的最佳实践是什么?如果我要把它保存到一个常见的地方,那会是哪里? Visual Studio 附带的安装项目允许此类操作吗?
(我在 Visual Studio 2012 上使用 .NET 4.5。)
这样做会创建 dll 地狱。您应该将它们分开并为每个项目编译更新版本。
使用更新的 dll 创建共享引用文件夹。 让两个项目都从共享引用文件夹中引用项目 A 的 dll。
为每个新版本创建版本号以保持对 dll 的控制
您可以使用程序集重定向来实现此目的。请参考程序集重定向