0

使用dnSpy 程序集编辑器,我修改了一个受版权保护的 IBM 程序集 (DLL)。我修复了源代码中的一个错误。将代码编译回 DLL 后,我尝试将其安装到 GAC 中。

但在此期间,InstallAssembly抛出以下错误:

InstallAssembly failed with error -2146234299

有谁知道这是什么意思?谢谢你的帮助!

编辑

docs.microsoft.com 上,我可以看到这-2146234299意味着FusionErrorSignatureCheckFailed. 所以我不可能修改DLL?

4

2 回答 2

2

我很高兴你不能这样做。这正是我们的意图:

部署在全局程序集缓存中的程序集必须具有强名称。将程序集添加到全局程序集缓存时,将对构成程序集的所有文件执行完整性检查。缓存执行这些完整性检查以确保程序集未被篡改,例如,当文件已更改但清单未反映更改时。

来源:全局程序集缓存

于 2019-01-04T09:31:37.323 回答
0

如果您修改程序集,其签名将不再有效。

您必须为其创建一个新签名,但您无法这样做,因为您无权访问 IBM 在创建原始签名时使用的私钥。

所以我担心你运气不好。

于 2019-01-04T09:17:44.193 回答