强命名程序集验证在本地有效,但在测试设备上失败

本文关键字:测试设备 失败 有效 程序集 验证 | 更新日期: 2023-09-27 18:11:11

在我的应用程序中,我引用了一个在本地工作良好的.dll。在我构建应用程序并在另一台计算机上进行测试后,库无法加载。我已经将进程附加到测试计算机上的Visual Studio调试器上,并且我得到的错误消息告诉我不能非常确定强名称。

要在另一台计算机上进行测试,我只需构建发布的解决方案,并将整个发布文件夹复制到另一台计算机上。所有的.dll(包括失败的dll)都在那里,除了一个之外,所有的.dll都正在成功加载。当我做同样的事情,但使用。dll注释掉的代码,它都工作得很好。

有我遗漏的步骤吗?很奇怪的是,库的强名称可以在本地非常确定,但在测试计算机上。

强命名程序集验证在本地有效,但在测试设备上失败

从您的症状来看,听起来您可能延迟登录该程序集?注意下面这段:

使用-Vr或-Vk选项,您可以选择包含.snk文件用于测试密钥签名。

仅在开发期间使用-Vr或-Vk选项。添加程序集到跳过验证列表将创建安全漏洞。一个恶意程序集可以使用完全指定的程序集名称(程序集名称、版本、区域性和公钥令牌)程序集添加到跳过验证列表以伪造其标识。这将允许恶意程序集也跳过验证。

你可能已经运行了,所以它在你的机器上传递,而不是在部署的机器上。

http://msdn.microsoft.com/en-us/library/t07a3dye (v = vs.110) . aspx