gpt4 book ai didi

.net - 将 IL 注入(inject)强命名程序集?

转载 作者:行者123 更新时间:2023-12-04 06:36:56 25 4
gpt4 key购买 nike

我有一个库的问题,它的程序集是强类型的,我没有源代码。感谢Reflector,我找到了错误的来源,但不幸的是,该类被密封,这使我无法将其子类化。由于它涉及大量内部方法,因此对整个源的简单复制/粘贴也会失败。

作为最后的手段,我认为我可以在程序集中注入(inject)一些 IL(这是一个相对简单的事情,只需在 if 语句中添加 || something.GetType() == typeof(System.DBNull),但我认为强命名会是一个问题?

有没有办法解决这个问题,还是我受供应商的摆布?

最佳答案

如果您使用 ildasm/ilasm 往返装配并自己修复 il - 强名称将无法在往返行程中存活(因为您没有辞职的 key )。如果它必须在 gac 中,那么您可以创建自己的 key 并用新的 key 将其退出。

问题是支持,供应商很可能不会在之后帮助您,如果您需要更新程序集(比如出现新版本),您将不得不再次修复供应商 dll 的新版本。 ..这会在路上引发一场噩梦般的多米诺骨牌效应——所以如果可能的话,我会避免改变装配。

关于.net - 将 IL 注入(inject)强命名程序集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4771772/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com