我们从另一家公司购买了一个带有源代码的软件。但是当我构建它时,发生了两个错误。我研究了很多。但无法找到解决方案。通常.snk
文件用于DLL(将其添加到GAC全局程序集缓存中)我无法在app文件夹或任何地方找到PublicPrivateKeyFile.snk
。应用程序引用dll的数量,因此每个DLL都显示相同的错误。我该怎么做才能解决这个错误。
Error Cryptographic failure while signing assembly ...\obj\Debug\xyz.dll' -- 'Error reading key file 'c:\Users\Administrator\Desktop\NewCode\abc\Libs\PublicPrivateKeyFile.snk' -- The system cannot find the file specified.`
Error metadata file 'C:\Users\Administrator\Desktop\NewCode\abc\bin\Debug\xyz.dll' could not be found
什么是元数据文件? 如何解决这两个错误?
答案 0 :(得分:1)
你做不到。没有他们的.snk
(强名称密钥文件),您无法签名。查看指令AssemblyInfo.cs
的{{1}}类,并注释掉以删除签名。然后,您就可以在本地使用它。
第二种选择是为[assembly: ReferenceKeyFile]
制作自己的签名。然后通过各种方法确保对该公钥的所有引用都是相同的,并确定该密钥是什么。