c# - 有没有办法解决从 WSDL 代码自动生成的系统 namespace 冲突?

标签 c# wcf web-services wsdl

非常简单,但非常令人沮丧。我的项目中有一个库(不幸的是我无法更改它),它在 MyCompany.System 命名空间中声明了它的类。添加对我的其他库的服务引用后,我在自动生成的代码中遇到了数百个错误,因为 System.* .NET 命名空间全部解析为 MyCompany.System.* 命名空间。

通过编辑自动生成的代码并将 global:: 添加到所有对 System.* 的引用,这个问题很容易解决。令人困惑的是,为什么一些自动生成的代码已经有,而一些/大多数没有。我无法在 VS2012 中找到任何选项来强制 WSDL 自动附加 global::

如果有的话,我有什么选择?

最佳答案

一些想法,其中之一可能会奏效。 :)

在自动生成的代码所在的项目中,首先编辑 Visual Studio 项目设置并将项目的默认命名空间更改为 MyCompany 以外的 namespace 。这可能会阻止 System 被解释为 MyCompany.System。

尝试使用命名空间别名:

使用 MyCompanySystem = MyCompany.System;

关于c# - 有没有办法解决从 WSDL 代码自动生成的系统 namespace 冲突?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19254095/

相关文章:

xml - WCF 数组序列化

c# - 使用 WCF、Windows Phone 7 和 ASP.Net

java - Web 服务上的 Wildfly Undertow 请求失败 HttpServerExchange

html - 什么是 magento 虚拟主机?如何在 magento 中上传我的网页?

c# - 使用 ADO.NET 更新一行中的多个列

c# - .SendKeys(Keys.Enter) 和.Click() 之间的区别?

xml - WCF 契约(Contract)第一个 : No methods are exposed

java - 从 wsdl url 创建 Web 服务客户端

c# - NGINX 反向代理背后的 ASP.NET MVC

c# - 在没有异步关键字的情况下声明方法返回类型 Task<int>