dll错误的加密失败错误和元数据文件

时间:2012-10-19 06:42:20

标签: c# asp.net

我们从另一家公司购买了一个带有源代码的软件。但是当我构建它时,发生了两个错误。我研究了很多。但无法找到解决方案。通常.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

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

1 个答案:

答案 0 :(得分:1)

你做不到。没有他们的.snk(强名称密钥文件),您无法签名。查看指令AssemblyInfo.cs的{​​{1}}类,并注释掉以删除签名。然后,您就可以在本地使用它。

第二种选择是为[assembly: ReferenceKeyFile]制作自己的签名。然后通过各种方法确保对该公钥的所有引用都是相同的,并确定该密钥是什么。