ServiceBus AppFabricLabs DLL
我遇到了两个具有多个命名空间的 DLL 的问题:
Microsoft.ServiceBus.Channels - V2.0.50727 Microsoft.ServiceBus - V2.0.50727
我正在尝试增强 Juval 的 Lowry 的服务总线资源管理器以在以下之间切换: appfabric.azure.com - 生产 Portal.appfabriclabs.com - beta
如果我只使用 Channels - 我会丢失 TransportClientEndpointBehavior 类,如果我添加两个引用,我将无法构建,因为 ServiceBusEnvironment 类存在于同一命名空间的两个 DLL 中。
我有一种感觉,我在这里遗漏了一些明显的东西......
引用了两个文件: 错误 1 类型“Microsoft.ServiceBus.ServiceBusEnvironment”存在于“c:\Program Files\Windows Azure AppFabric SDK\V2.0\Assemblies\Microsoft.ServiceBus.Channels.dll”和“c:\Program Files\Windows Azure”中AppFabric SDK\V1.0\Assemblies\NET4.0\Microsoft.ServiceBus.dll' C:\Users\rreukema\Downloads\Idesign_WCFDisk\AprilIDesignCD\Demos\ServiceModelEx\ServiceBus\Discovery\ServiceBusDiscoveryClient.cs 26 134 ServiceModelEx
仅具有通道参考: 错误 12 找不到类型或命名空间名称“TransportClientEndpointBehavior”(是否缺少 using 指令或程序集引用?)C:\Users\rreukema\Downloads\Idesign_WCFDisk\AprilIDesignCD\Demos\ServiceBus\Explorer\PopulateSolution\ServiceBusHelper - Buffer.cs 21 78 填充命名空间
There are two DLL's with multiple namespaces that I am having problems with:
Microsoft.ServiceBus.Channels - V2.0.50727
Microsoft.ServiceBus - V2.0.50727
I'm attempting to enhance Juval's Lowry's Service Bus Explorer to switch between:
appfabric.azure.com - production
portal.appfabriclabs.com - beta
If I only use Channels - I lose the TransportClientEndpointBehavior class, if I add both references I can't build because the ServiceBusEnvironment class exists in both DLL's in the same namespace.
I have a feeling that I'm missing something obvious here....
With both files referenced:
Error 1 The type 'Microsoft.ServiceBus.ServiceBusEnvironment' exists in both 'c:\Program Files\Windows Azure AppFabric SDK\V2.0\Assemblies\Microsoft.ServiceBus.Channels.dll' and 'c:\Program Files\Windows Azure AppFabric SDK\V1.0\Assemblies\NET4.0\Microsoft.ServiceBus.dll' C:\Users\rreukema\Downloads\Idesign_WCFDisk\AprilIDesignCD\Demos\ServiceModelEx\ServiceBus\Discovery\ServiceBusDiscoveryClient.cs 26 134 ServiceModelEx
With only the Channel Reference:
Error 12 The type or namespace name 'TransportClientEndpointBehavior' could not be found (are you missing a using directive or an assembly reference?) C:\Users\rreukema\Downloads\Idesign_WCFDisk\AprilIDesignCD\Demos\ServiceBus\Explorer\PopulateSolution\ServiceBusHelper - Buffer.cs 21 78 PopulateNamespace
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
创建一个同时支持服务总线的实验室版本和生产版本的应用程序将非常困难,因为两者之间没有官方的向后兼容性故事。 (实验室旨在用于尝试新功能并获取客户反馈)。您在这里尝试启用的场景是什么?
至于 dll 问题,您是否在项目中引用了两个版本的程序集?如果是这样,您将遇到版本控制问题,特别是如果 GAC 中有 ServiceBus dll。如果您只想一次定位一个版本的 dll,我强烈建议您在项目中添加引用时使用完整的程序集名称(版本和所有内容)。另一个好主意是添加对 GAC 中的 dll 的引用,而是添加对安装位置的引用,正如它所解释的 此处
Creating an application that supports both the lab and the production versions of Service Bus is going to be really hard, as there's no official backwards compatibility story between the two of them. (Labs is meant to be used to try out new features and get feedback from customers). What's the scenario you're trying to enable here?
As for the dll issues, are you referencing both versions of the assemblies on your project? If so, you'll hit versioning issues, specially if you have the ServiceBus dlls in the GAC. If you only want to target one version of the dlls at a time, I strongly suggest you use the full assembly name (version and everything) when adding a reference in your project. Another good idea is to add a reference not to the dll in the GAC, but the one of the install location, as it's explained here