Box.V2 SDK部署问题:无法加载文件或程序集“Nito.AsyncEx ...”或其依赖项之一。需要一个强名称的程序集。

时间:2014-01-28 03:26:02

标签: c# .net wcf strongname signed-assembly

我们在VS 2010 Win7 x64下获得了针对.Net 4.0的WCF项目,请注意它是一个已签名的程序集。 Box.V2 SDK已通过NuGet安装,我们使用的版本是1.0.5。

一旦我们尝试构建解决方案,坏事就开始发生了,第一个问题是Box.V2 dll本身,由于以下错误,我们无法继续前进:

  

"装配生成失败 - 参考装配' Box.V2'没有强大的名字"。

我们通过使用' Brutal Developer .NET程序集强名称签名者(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是我们方法的参数。

解决问题的步骤:

  1. Nito.AsyncEx.dll使用相同的上述工具签名 - 相同的例外。
  2. Nito.AsyncEx程序集已升级到最新版本(2.1.3.0),实际上他们已经调整了它并使用强名称作为程序集 - 仍然没有运气。
  3. 此处提交的其中一个问题(https://github.com/box/box-windows-sdk-v2/issues/3)遇到了类似的问题,我们尝试按照建议的方案进行操作,但这并没有多大帮助。
  4. 我们试图不签署我们的集会,但是再次徒劳无功,因为抛出了同样的例外。
  5. 我们还尝试按照here中的描述调整并签署Box.V2.dll,但之后甚至无法构建它,因为这些错误被抛出:
  6.   

    基类或接口' System.Object'在汇编&System;运行时间,版本= 2.6.3.0,文化=中立,PublicKeyToken = b03f5f7f11d50a3a'由类型' Box.V2.BoxClient'引用无法解决

         

    基类或接口' System.Object'在汇编&System;运行时间,版本= 2.6.3.0,文化=中立,PublicKeyToken = b03f5f7f11d50a3a'由类型' Box.V2.Config.BoxConfig'引用无法解决

    因此,我们目前无法在我们的产品中部署Box API,这非常令人沮丧。

    非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

Box团队为我们提供了包含签名程序集的更新SDK,并且运行良好。