我如何使用托管DLL而不加载CLR

How can I use a managed DLL without loading the CLR?

本文关键字:加载 CLR DLL 何使用      更新时间:2023-10-16

如果我有一个托管DLL和一个非托管资源管理器扩展,是否有可能以某种方式加载托管DLL而不将CLR拉入资源管理器的进程空间?

我知道写一个托管的资源管理器扩展是一个禁忌,因为它将CLR加载到资源管理器中,并导致与碰巧使用CLR的任何其他插件/扩展相关的问题,但我有一些托管代码,我想在我的扩展中使用。我怎样才能避免这个问题呢?

不是一个理想的答案,但是一个你可以考虑的路线。编写非托管代理并使用命名管道/其他IPC调用托管代码服务。这是有点俗气和气味,但如果你被卡住了…

你可以一直等到Windows 8。WinRT是完全非托管的,API语法非常像。net