我已经为一些自定义需求构建了IL重写器。它所做的只是
- 为另一个 .Net DLL(新生成的自定义 DLL(创建方法引用
- 为少数必需的方法注入尾声和序言,它们在内部调用上述方法引用。
使用示例 Windows 表单应用程序,一切正常。但是,对于Web应用程序,尾声和序言正在正确注入。但是,当它被调用时,它会抛出以下错误 -
System.IO.FileLoadException:加载此程序集将生成 与其他实例不同的授权集。(HRESULT的例外情况: 0x80131401(
不知何故,新构建的.Net DLL没有为WebApp加载,而Windows应用程序则运行良好。
如果我禁用 IL 重写,一切按预期工作正常。这意味着 IL 重写导致错误。
任何解决方案将不胜感激
我可以通过设置环境变量来解决问题
COMPLUS_LoaderOptimization
自
1