我们已经在VS 2010 Win7 x64下获得了针对.Net 4.0的WCF项目,请注意它是一个签名的程序集。Box.V2 SDK已经通过NuGet安装,我们使用的版本是1.0.5。
当我们试图构建解决方案时,坏事情开始发生,第一个问题是Box.V2 dll本身,由于以下错误,我们无法继续:
程序集生成失败--引用的程序集“Box.V2”没有强名称。
我们通过使用“Brutal Developer .NET Assembly Strong-Name Signer(1.3.0.0)”对程序集进行签名来克服这个问题。
在成功构建后,我们遇到了第二个问题,而创建BoxClient会抛出一个异常,并显示以下消息:
“无法加载文件或程序集“Nito.AsyncEx,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”或它的某个依赖项。需要强名称的程序集。(来自HRESULT的异常:0x80131044)”。
我们使用以下代码示例化客户端:
var config = new BoxConfig(clientId, clientSecret, new Uri(redirectUri));
var client = new BoxClient(config);
其中clientId、clinetSecret和redirectUri是我们方法的参数。
为解决问题而采取的步骤:
- Nito.AsyncEx.dll是使用上述相同的工具签名的-相同的例外情况。
- Nito.AsyncEx程序集升级到了最新版本(2.1.3.0),事实上他们已经调整了它,并为他们的程序集使用了强名称-仍然没有运气。
1.这里提交的一个问题(https://github.com/box/box-windows-sdk-v2/issues/3)也有类似的问题,我们试图遵循建议的场景,但它没有太大帮助。
1.我们试图根本不签署我们的程序集,但再次徒劳,因为抛出了相同的异常。
1.我们还尝试按照here中的描述对Box.V2.dll进行调整和签名,但后来甚至无法构建它,因为抛出了以下错误:
无法解析类型“Box.V2.BoxClient”引用的程序集“System.Runtime,Version=2.6.3.0,Culture=neutral,PublicKeyToken= b 03 f5 f7 f11 d50 a3 a”中的基类或接口“System.Object”
无法解析类型“Box.V2.Config.BoxConfig”引用的程序集“System.Runtime,Version=2.6.3.0,Culture=neutral,PublicKeyToken= b 03 f5 f7 f11 d50 a3 a”中的基类或接口“System.Object”
因此,我们目前陷入了部署盒API在我们的产品,这是相当令人沮丧。
任何帮助都非常感谢。
1条答案
按热度按时间wkyowqbh1#
Box团队为我们提供了更新的SDK,其中包含签名的程序集,并且运行得非常好。