我们已经从另一家公司购买了带有源代码的软件。但是当我构建它时,发生了以下两个错误。我对此进行了大量研究。但找不到解决方案。通常.snk文件用于DLL(将其添加到GAC全局程序集缓存中),我在应用程序文件夹或任何地方都找不到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


什么是元数据文件?
如何解决这两个错误?

最佳答案

你不能没有他们的.snk(强名称密钥文件),您就不能以他们签名。在AssemblyInfo.cs类的内部查找指令[assembly: ReferenceKeyFile],并对其进行注释以删除签名。然后,您将可以在本地使用它。

第二种选择是为.dll签名。然后,通过各种方式确保对公共密钥的所有引用都相同,并弄清楚该密钥是什么。

关于c# - 加密错误错误和DLL错误的元数据文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12968756/

10-13 06:13