我在 Visual Studio 中遇到了一个没有任何意义的构建错误:
命名空间“My.Project”中不存在类型或命名空间名称“MyService”(您是否缺少程序集引用?)
命名空间MyService
在 Web 参考中定义。在对象浏览器中,我可以清楚地看到该名称空间和其中定义的所有类。Web 参考中的任何代码都没有编译错误。
将框架目标从 2.0 更改为 3.5 后,代码停止编译。为什么编译器会窒息,我该如何解决这个问题?我已经尝试更新网络参考,但问题仍然存在。我什至尝试将生成的“Reference.cs”中的代码注释掉,并将代码复制到项目中的另一个代码文件中,仍然没有看到命名空间。
我的项目引用以下内容:
系统 2.0.0.0 系统数据 2.0.0.0 System.EnterpriseServices 2.0.0.0 System.Net 3.5.0.0 系统.Web.服务 2.0.0.0 System.Xml 2.0.0.0
更新
不仅仅是我的 Web 服务生成的代码存在编译问题;对于所有转换为 .NET 3.5 的项目,我无法引用它们的命名空间。
我仍然不确定为什么会发生这一切,但我找到了解决方法;通过将 a 添加using Ns = My.Project.MyService
到我的代码中,我能够使用Ns.MyType
.