如何并排加载同名DLL(Visual Studio)

时间:2014-05-16 14:32:13

标签: c++ visual-studio-2012 dll sxs

我对side-by-side assemblies有疑问。

以下是这种情况:

我有一个可执行文件app.exe,它通过搜索plugins目录来加载插件。 app.exe取决于某个A.dll

我正在开发一个插件,该插件依赖于具有相同名称的旧A.dll的自定义版本。将这个较旧的自定义版本更新到较新版本是不可能的,所以我想我可以同时加载这两个A.dll文件。

这是目录结构:

\bin
    app.exe
    A.dll (newer version)
    \plugins
        myplugin.dll

A.dll的两个版本本身都依赖于大量其他DLL,这些DLL可能具有类似的版本问题。 (我还应该提到我正在使用64位应用程序,如果这有所不同。)

如何在Visual Studio中进行此设置,以便我可以同时加载两个A.dll库,以便myplugin.dll使用旧版本,而app.exe使用较新版本版本

1 个答案:

答案 0 :(得分:0)

由于这些是插件,因此您可以通过调用LoadLibrary或类似插件来加载它们。在这种情况下,您只需将完整路径传递给DLL即可加载它。