如何在非托管代码中动态加载托管(. net) DLL



如何在非托管代码中动态加载托管(.Net) DLL ?

我正在用c++创建一个插件系统,它被注入到一个应用程序中,我希望能够编写c#插件。

我已经搜索了一点,但只能找到COM加载(#import),但我不知道如何在运行时做到这一点,如果可能的话。

c# DLL (Plugin)可以调用c++ DLL (Plugin Manager)中的函数。

我更喜欢一个不需要我用/clr编译c++ DLL的解决方案。

这里有很多问题。

我更喜欢一个不需要我用/clr编译c++ DLL的解决方案。

在某种程度上,要使用c# DLL,需要引导CLR。使用/clr有一个巨大的优势——你可以为c#插件提供一个真正的托管API。

你的主要其他选择是要么使用COM,并提供一个基于COM的API。这将在c#和其他语言中很好地工作,并负责为您加载CLR。唯一的其他API是使用托管API自托管CLR。这为您提供了最大的控制,但绝对是相当多的额外工作。

相关内容

  • 没有找到相关文章

最新更新