我有一个我要测试的应用结构服务。 (http://xxx.cloudapp.net:8081/service.svc)。
我创建了一个控制台应用程序并添加了服务的服务引用,并出现以下错误:
无法加载文件或程序集 “Microsoft.ServiceBus, 版本= 1.0.0.0,文化=中立, PublicKeyToken = 31bf3856ad364e35'或 其中一个依赖项。系统 找不到指定的文件。
我在C:\ Program Files(x86)\ Windows Azure平台AppFabric SDK \ V1.0 \ Assemblies \ NET4.0中添加了对Microsoft.ServiceBus的引用
我将项目中的所有程序集设置为Copy Local = True,如下所示: http://msdn.microsoft.com/en-us/library/ee706702.aspx
额外的尽职调查: 我在red-gate的反射器中打开了Microsoft.ServiceBus并确认它是正确的版本。仅仅为了踢,我还添加了对反射器中引用的每个程序集的引用,并将所有引用设置为copy local = true。
还有其他想法吗?
...彼得
答案 0 :(得分:4)
确保将“目标框架”(“项目属性/应用程序”选项卡)从“.NET Framework 4 Client Profile”更改为“.NET Framework 4”。 我发现了一个类似的帖子,这对我有帮助。 我相信,.NET 4的客户端配置文件不支持Microsoft.ServiceBus这一事实。
答案 1 :(得分:3)
当您引用Microsoft.ServiceBus.dll时,请从安装位置引用它,例如
C:\ Program Files(x86)\ Windows Azure 平台AppFabric
SDK \ V1.0 \装配\ NET4.0 \ Microsoft.ServiceBus.dll
...不是来自GAC,并将Copy Local设置为true。
您需要在部署到Azure中的任何内容中执行此操作; Microsoft.ServiceBus.dll需要与您的项目一起打包,因为它在Azure中默认不可用。
如果您启动Fiddler,则在调用服务时会看到500错误。这证明异常不在您的调用应用程序中。
答案 2 :(得分:1)
Azure框上未安装ServiceBus dll
您可以检查Azure文件夹的CSX树,以查看是否正在将程序集复制到最终包中。这比上传到azure或启动开发结构快得多。
这应该可以解决你的问题