无法验证装配数据;加载此程序集时必须提供授权密钥

Posted

技术标签:

【中文标题】无法验证装配数据;加载此程序集时必须提供授权密钥【英文标题】:Unable to verify assembly data; you must provide an authorization key when loading this assembly 【发布时间】:2014-03-15 22:12:41 【问题描述】:

我正在 Unity 中测试 InteractiveConsole 示例。我做了一些配置,如the official tutorial 中所述。 经过一些设置后,我进入了步骤 7:运行我们的示例代码

但是,我收到以下错误:

无法验证装配数据;您必须提供授权密钥 加载此程序集时。 UnityEngine.Security:LoadAndVerifyAssembly(Byte[]) c__Iterator1:MoveNext() (在 资产/Facebook/脚本/FB.cs:326)

无法从 https://integrated-plugin-canvas-rsrc.fbsbx.com/rsrc/unity/lib/sdk_4.0/CanvasFacebook.dll UnityEngine.Debug:LogError(Object) FbDebug:Error(String) c__Iterator1:MoveNext() (在 资产/Facebook/脚本/FB.cs:329)

不知道该怎么办。有什么想法吗?

【问题讨论】:

您使用的是哪个版本的 Unity 编辑器? Unity 最近更新了 Security:LoadAndVerifyAssembly 以在 Unity Editor 4.5 中获取授权密钥。我们正在努力为 Facebook 提供这种支持。目前仅 Unity Editor 支持当前版本 现在,如果您想继续使用 Unity Editor 4.5+,作为一种解决方法,打开 FB.cs 并查找 var assembly = Security.LoadAndVerify Assembly(www.bytes); 将其更改为:var assembly = Security.LoadAndVerifyAssembly(www.bytes, "o+uJXoVE53pt2yC+6MNtM+S1eQ12KoaJUWOveWIZ9Q3BWQTqhcWA9mllY6HjVXSLY5E0uWEgAWGalwSf4z8c3XIfIInxSjh33N8IYCyMsrkctcj4LhPIl+EcKDgY4L2xKFqqiEi5k7z6LU3M4+RY+7LsgGL7m7Io+8F/LxoOhnoWVGCQ1uXgQ+8G4emvplGRQy7usgruhbHvMsWtd9GXhJV29gFQa3h88R5obXgxNKGXQea0Ex8dQdRS41TS7+fywh6RFsoq9sFxi+dePoW8bGBP+NxKpCxzEIk8UVRD8fZsE/Zl2FzGyIGjn5QXJuPrS+rYhLLbqfLz07Inf7LNCg=="); 您能发布 5.0.3 版本的更新数据吗? 这是最新的密钥:B8GvecdX0rQ47kzhCEwlrRzYKA8LKeiZxy1HI3HfnhdgUATvBwQQViji8ot44dADM55QuHk5+hwrLsoau32IDmRDQTclMSsTsIywGRo/nE5vbmRMMIECYXBFhliz+kvK0RWZ57XPxw0s7YhGnNLav0EE2QH/m+9ajlLOY+2ckxSoSEHLpotllyZLktRK+oFiDPvmzXLDUMOnwK9RFRSh2VBmoyWTZx8BYqWjqug3kAljJk/XwTYZT9Ie+HvzLO5DBSqMNYbEX03WaNfpaq9GKBF/Oz37AHelf1Es36amP1v2Aut3nmIk2xxN6zwzBXyEyw90vJ/O8suikU+8kDDbZA== 【参考方案1】:

不要像@BrianJew 建议的那样更改对 LoadAndVerifyAssembly 的调用,您只需更改 FB.cs 的第 381 行,其中显示

#if UNITY_4_5

你应该放

#if UNITY_4_5 || UNITY_4_6

或者你的 Unity 版本的适当标志。在该块中,密钥是从该 URL https://integrated-plugin-canvas-rsrc.fbsbx.com/rsrc/unity/key/sdk_5.1/AuthToken.unityhash

获取的

【讨论】:

它有效。在 Facebook Unity SDK 6.0 中,它位于第 411 行。 您需要为 5.1 添加 Unity_5_1 @mikeysee 谢谢。这帮助我加快了进程。 添加 UNITY_EDITOR 可能会更好 成功了!他们应该默认添加 al 版本。【参考方案2】:

另一个简单的修复:

FB.cs的第411行更改为:

#if UNITY_4_5 || UNITY_EDITOR

这已经在5.2.1 版本中进行了测试。

【讨论】:

【参考方案3】:

unity 5.1 也一样,只需在 FB.cs 中的相应行添加 || UNITY_5_1

【讨论】:

以上是关于无法验证装配数据;加载此程序集时必须提供授权密钥的主要内容,如果未能解决你的问题,请参考以下文章

打开microsoft office2010后提示无法验证此产品的许可。必须使用控制面板修复office程序

登录时未通过凭据提供程序加载 KSP(密钥存储提供程序)

加载程序集时Xamarin Android异常:System.IO.FileNotFoundException:无法加载程序集'Xamarin.Android.Support.Compat&#

尝试加载反应式程序集时,Expression Blend 4 失败

[通过AssemblyResolve加载程序集时抑制控制台输出

ASP.NET Web API 授权和身份验证