我有一个想要测试的应用程序结构服务。(http://xxx.cloudapp.net:8081/service.svc).
我创建了一个控制台应用程序并向该服务添加了服务引用,但出现以下错误:

无法加载文件或汇编'Microsoft.ServiceBus,版本= 1.0.0.0,culture =中性,publicKeyToken = 31bf3856ad364e35'或其依赖项之一。该系统找不到指定的文件。

我从 C:\Program Files (x86)\Windows Azure platform AppFabric SDK\V1.0\Assemblies ET4.0 添加了对 Microsoft.ServiceBus 的引用

我将项目中的所有程序集设置为 Copy Local = True,如下所示:http://msdn.microsoft.com/en-us/library/ee706702.aspx

额外的尽职调查:我在red-gate的反射器中打开Microsoft.ServiceBus并确认它是正确的版本。只是为了好玩,我还添加了对反射器中引用的每个程序集的引用,并将所有引用设置为 copy local = true。

还有其他想法吗?

…彼得

有帮助吗?

解决方案

当您引用Microsoft.ServiceBus.dll,从安装位置引用它,例如

  

C:\程序文件(x86)\ Windows Azure的   平台AppFabric的结果   SDK \ V1.0 \装配\ NET4.0 \ Microsoft.ServiceBus.dll

...不是从GAC,并设置复制本地为true。

您需要做的这一切要部署到Azure的;在Microsoft.ServiceBus.dll需要与你的项目打包的,因为它不是默认情况下可用在Azure上。

如果你火了小提琴手,你会看到一个500错误调用该服务时。这证明,例外是不是在你的调用应用程序。

其他提示

请确保您为” .NET框架4' ,.NET Framework 4的客户端配置文件“更改目标框架(项目属性/应用程序选项卡)。 我发现了一个类似的帖子,那是什么帮助了我。 我相信它具有与以下事实Microsoft.ServiceBus不是由.NET 4的客户端配置文件支持。

Azure 盒子上未安装 ServiceBus dll

  1. 确保对程序集的引用指定 COPY LOCAL
  2. 还要确保您在上层项目中没有对服务总线 dll 的引用,这些项目不会复制到本地(如果您已经验证了上面的 1,这可能是您的问题)

您可以检查 azure 构建文件夹的 CSX 树,以查看程序集是否被复制到最终包中。这比上传到 azure 或启动开发结构要快得多。

这应该可以解决你的问题

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top