我正在开发一个C#.NET类库项目。该项目被许多其他应用程序引用,需要经常维护。
每次有更改时,我们可能需要手动将.dll部署到10多个其他应用程序位置,这是非常繁琐的工作。
我正在寻找一种方法,我只需将.dll部署到只有1个位置,其他项目会在重新启动时自动使用最新的.dll。
到目前为止,我只找到了GACUtil,但我没有考虑它,因为它需要强烈命名程序集。
我想找到的是 - 仅部署到1个位置 - 即使在部署“较新”版本之后,应用程序也应该能够继续运行“较旧”版本的DLL - 可以重新启动应用程序以“获取最新”DLL
答案 0 :(得分:1)
最简单的解决方案是将dll的副本放在执行目录中,并使用后期绑定在应用程序中加载程序集。如果使用引用和早期绑定,那么dll-version必须是mach。
另一种方法是强制命名托管dll并使用GacUtil或nsis安装程序脚本。