使用dnSpy assembly editor修改了受版权保护的IBM程序集(DLL)。我修复了源代码中的一个错误。将代码编译回DLL后,我尝试将其安装到GAC中。
但是在此期间,InstallAssembly
引发了以下错误:
InstallAssembly failed with error -2146234299
有人知道这意味着什么吗?感谢您的帮助!
编辑
在docs.microsoft.com上,我看到-2146234299
的意思是FusionErrorSignatureCheckFailed
。因此,我无法修改DLL吗?
答案 0 :(得分:2)
很高兴您不能执行此操作。这正是确切的意图:
在全局程序集缓存中部署的程序集必须具有强名称。将程序集添加到全局程序集缓存后,将对组成程序集的所有文件执行完整性检查。 高速缓存执行这些完整性检查,以确保程序集未被篡改,例如,当文件已更改但清单未反映出更改时。
答案 1 :(得分:0)
如果修改部件,则其签名将不再有效。
您将不得不为其创建一个新的签名,但是您将无法执行此操作,因为您无权访问IBM创建原始签名时使用的私钥。
所以我怕你不走运。