c# - c++ exe如何定位c# dll?

标签 c# c++ dll clr

我正在尝试运行一个使用 c# dll 的 c++ 应用程序。 我创建了一个 clr 包装器类,以便 c++ exe 可以加载 c# dll。 当我从 c# dll 所在的同一目录运行 exe 时,应用程序运行正常。

但是,我想做的是将我所有应用程序的 dll 放在另一个目录中。 所以我的问题是:

如何将 c# dll 放在与我的 c++ 应用程序所在的目录不同的目录中,并使 exe 能够加载该 dll?

我相信可以选择使用配置文件,但我不明白这是如何完成的。

谁能解释一下它是如何实现的?

最佳答案

如果dll目录是可执行文件的子目录,你可以使用 <probing> element你的 app.config:

<configuration>
   <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
         <probing privatePath="dll_subdirectory_name"/>
      </assemblyBinding>
   </runtime>
</configuration>

关于c# - c++ exe如何定位c# dll?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50540314/

相关文章:

C++ OpenGL glTexImage2D 访问冲突

c++ - 使用 STL 映射时,模板参数的数量错误?

java - 从 JNI 中的 native 代码退出会杀死 Java 应用程序

delphi - 如果我有 dll 源代码,是否可以从 Delphi 调试 C++builder dll?

c# - 如何将带条件的嵌套 foreach 循环转换为 LINQ

c# - 使 Entity Framework 只读

c++ - 如何使用ZeroMQ监听和解析特定端口上的UDP数据?

c++ - 如何在 C++ 中使用没有 header 的 DLL

c# - 如何获得3维数组的横截面c#

c# - 反序列化不起作用