我有两个引用AppTypes.dll程序集的应用程序。一个应用程序是正常的winforms应用程序,另一个是Web服务。
我将AppTypes中定义的对象传递给我的Web服务,但是我得到了命名冲突,因为显然Web服务在将服务添加到我的项目后也定义了这些类型。有什么方法可以解决它或解决VS所具有的混乱或这是正常的吗?
答案 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”解析为命名空间,而不是作为允许您消除命名歧义的类。
我希望我不是完全不在这里,对不起,如果我。