我有一个应用程序,它使用许多不同的 .NET 托管 DLL 作为对象(每个 DLL 实现一个公共接口)。每个 DLL 在文件名中也有一个版本号。
假设我创建了对象“Shape~01.dll”。应用程序将使用该 DLL,但在应用程序运行时无法替换它。因此,如果我想“升级”形状 dll,我必须创建“Shape~02.dll”,并且应用程序必须在每次创建形状时动态搜索并加载最新的 dll 和/或用户必须重新启动应用。更糟糕的是,每个 dll 都依赖于主 .exe,因此必须使用主 .exe 重新构建。
有没有更简单的方法来动态“替换”对象?