答案 0 :(得分:11)
尝试在 regestry 中添加:
OS x32:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\StrongName\Verification\*,af24b530b87e22f1]
OS x64:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\StrongName\Verification\*,af24b530b87e22f1]
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\StrongName\Verification\*,af24b530b87e22f1]
并将其添加到 Web.config :
<system.web>
<hostingEnvironment shadowCopyBinAssemblies="false" />
</system.web>
答案 1 :(得分:8)
要禁用计算机上所有程序集的强名称验证,您可以运行:
select st_distance_sphere(POINT(-73.9949,40.7501), POINT( -73.9961,40.7542))
来自VS201的开发人员命令提示符*
答案 2 :(得分:4)
以下条目将起作用:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\StrongName\Verification\*,af24b530b87e22f1]
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\StrongName\Verification\*,af24b530b87e22f1]
答案 3 :(得分:3)
这是我收到的例外情况:
Error Type: System.IO.FileLoadException
Error Message: Could not load file or assembly 'MyAssemblyName, Version=5.1.0.0, Culture=neutral, PublicKeyToken=30b439e30eee46b4' or one of its dependencies.
Strong name validation failed. (Exception from HRESULT: 0x8013141A)
这是一个解决方案,我可以在完全签名的服务中测试特定程序集时禁用强名称验证:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\StrongName\Verification\MyAssemblyName,30b439e30eee46b4]
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\StrongName\Verification\MyAssemblyName,30b439e30eee46b4]
您必须在注册表中创建这些新密钥,密钥下面没有值。您可以将这两行复制到.reg文件中,更改程序集名称及其guid,然后双击它以合并到注册表中。
注意:程序集名称是没有.dll扩展名的文件名,与异常中显示的完全相同。
然后重新启动您的应用/服务。
我认为上面用*而不是汇编名称的答案也应该有用。