Web服务和应用程序依赖项引用之间的名称空间

时间:2009-06-04 19:42:39

标签: c# web-services namespaces

我有两个引用AppTypes.dll程序集的应用程序。一个应用程序是正常的winforms应用程序,另一个是Web服务。

我将AppTypes中定义的对象传递给我的Web服务,但是我得到了命名冲突,因为显然Web服务在将服务添加到我的项目后也定义了这些类型。有什么方法可以解决它或解决VS所具有的混乱或这是正常的吗?

2 个答案:

答案 0 :(得分:2)

使用Web服务代理,您可以在添加Web引用时通过wsdl.exe /namespace选择命名空间。但是,这些将是单独的类型,您不能将两者视为相同。这经常引起很多困惑......

如果您想共享类型,请考虑使用WCF而不是2.0风格的Web服务,这允许通过IDE和svcutil.exe /reference

进行此操作

答案 1 :(得分:0)

好吧,我可能不应该回答这个帖子,因为我不确定我是否完全理解你的问题,但有时候你可以解决命名空间冲突,比如我强烈怀疑你可能会遇到的问题“全球”指令。

namespace Foo
{
    class Bar
    {
    }
}

namespace Bar
{
    class Foo
    {
        static void DoIt()
        {
             // Foo.Bar x1; // This wont compile.
            global::Foo.Bar x2; // This will compile.            
        }
    }
}

“global”指令指示编译器外出并将“Foo”解析为命名空间,而不是作为允许您消除命名歧义的类。

我希望我不是完全不在这里,对不起,如果我。