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

时间:2018-05-26 07:15:19

标签: c# c++ dll clr

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

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

如何将c#dll放在我的c ++应用程序所在的目录中,并启用exe加载该DLL?

我相信可以选择使用配置文件,但我不明白这是怎么做到的。

任何人都可以解释它的实现方式吗?

1 个答案:

答案 0 :(得分:1)

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

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