IL Rewrite 无法加载 .Net DLL

IL Rewrite fails to load .Net DLL

我已经为一些自定义需求构建了 IL Rewriter。它所做的只是

  1. 为另一个 .Net DLL(新建的自定义 DLL)创建方法引用
  2. 为少数必需的方法注入结语和序言,它们在内部调用上述方法引用。

示例 Windows 表单应用程序一切正常。但是,对于 Web 应用程序,尾声和序言已正确注入。但是,当它被调用时,它会抛出以下错误 -

System.IO.FileLoadException: Loading this assembly would produce a different grant set from other instances. (Exception from HRESULT: 0x80131401)

不知何故,新构建的 .Net DLL 没有为 WebApp 加载,而对于 Windows App 则工作正常。

如果我禁用 IL 重写,一切都会按预期正常工作。这意味着 IL Rewrite 导致了错误。

任何解决方案将不胜感激

我可以通过设置环境变量来解决这个问题

COMPLUS_LoaderOptimization 

1