从另一个文件夹加载相关的DLL(C ++ \ CLI \ C#)

时间:2015-03-13 09:54:47

标签: c# c++ .net windows dll

好的,我目前的环境是这样的;

  1. MyFirstLocation \ App1.exe
  2. 中的原生App1.exe
  3. MyAnotherLocation \ MyDllFirst.dll(C ++ \ CLI)
  4. 中的MyDllFirst.dll
  5. MyDllSecond.dll位于 MyAnotherLocation \ MyDllSecond.dll(C#dll)
  6. App1.exe ---加载 - > MyDllFirst.dll ---加载 - > MyDllSecond.dll

    App1.exe使用SetDllDirectory和LoadLibrary等加载MyDllFirst.dll。 但MyDllFirst.dll无法加载MyDllSecond.dll

    如果我做这样的事情而不是第三项,那么它有效;

    1. MyFirstLocation \ MyDllSecond.dll(C#dll)中的MyDllSecond.dll
    2. 我认为因为dll加载上下文在exe的目录中找不到第二个dll。

      我的问题是;

      我可以选择将MyDllFirst和MyDllSecond链接到运行时和加载时链接吗?

      有没有办法从App1.exe本身链接这两个dll?

      PS:我不喜欢在MyDllFirst中使用AssemblyResolve功能来查找MyDllSecond的目录并从那里加载

      希望我能清楚地表达自己的任何帮助

0 个答案:

没有答案