非常简单,但非常令人沮丧。我的项目中有一个库(不幸的是我无法更改它),它在 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/