IL Rewrite无法加载.Net DLL。

3
我为了一些定制需求构建了IL Rewriter。它所做的就是:
  1. 为另一个 .Net DLL(新构建的自定义DLL)创建方法引用
  2. 为几个必需的方法注入结尾和开头,它们在内部调用上述方法引用。
在样本 Windows 窗体应用程序中,一切运作正常。然而,在 Web 应用程序中,结尾和开头被正确注入。但是,当它被调用时,会抛出以下错误 -

System.IO.FileLoadException: 加载此程序集将产生与其他实例不同的授予集。(HRESULT 异常: 0x80131401)

不知何故,新构建的 .Net DLL 未能为 WebApp 加载,而对于 Windows App,则可以正常工作。
如果我禁用 IL Rewrite,一切都如预期般正常工作。这意味着 IL Rewrite 导致了错误。
任何解决方案都将不胜感激。

您尝试过在谷歌上搜索错误本身吗?例如,这里有一个问题。 - Sinatr
是的,我已经尝试过了,但没有成功。这就是为什么我在这里解释我的情况的原因。 - Hitesh
1个回答

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

to

1

我不明白原因。我尝试了多次,删除上述环境变量并重新添加。只有当环境变量存在时才能正常工作。 - Hitesh
你在生产代码中使用这个吗?打开标志会导致严重的减速和内存使用增加。 - WooHoo
是的,我已经阅读了文档。但是,我认为,在进程(w3wp)中存在多个应用程序域的情况下,它会产生不良影响。否则,您有什么更好的解决方案建议吗? - Hitesh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接