visual-studio-2010 - 在2.0到3.5项目转换后,Visual Studio 2010编译器看不到Web引用 namespace

标签 visual-studio-2010 .net-3.5 .net-2.0 compiler-errors web-reference

我在Visual Studio中收到一个没有任何意义的生成错误:

The type or namespace name 'MyService' does not exist in the namespace 'My.Project' (are you missing an assembly reference?)



命名空间MyService在Web引用中定义。在对象浏览器中,我可以清楚地看到该 namespace 以及其中定义的所有类。 Web引用中的任何代码都没有编译错误。

在将框架目标从2.0更改为3.5之后,代码停止编译。为什么编译器会令人窒息,我该如何解决呢?我已经尝试过更新Web引用,但是问题仍然存在。我什至尝试注释掉生成的“Reference.cs”中的代码,并将代码复制到项目中的另一个代码文件中,但仍然看不到命名空间。

我的项目引用了以下内容:

系统2.0.0.0
系统数据2.0.0.0
System.EnterpriseServices 2.0.0.0
System.Net 3.5.0.0
System.Web.Services 2.0.0.0
System.Xml 2.0.0.0

更新

不仅仅是我的Web服务生成的代码有编译问题;它还包含其他问题。对于所有转换为.NET 3.5的项目,我无法引用其命名空间。

我仍然不确定为什么这一切都会发生,但是我找到了解决方法。通过在我的代码中添加using Ns = My.Project.MyService,我可以使用Ns.MyType引用命名空间中的类型。

最佳答案

显然,这被记录为Visual Studio中的错误:

https://connect.microsoft.com/VisualStudio/feedback/details/570557/targeting-net-framework-3-5-actually-targets-3-0-gac

我通过将System.Web.Extensions.dll从C:\ Program Files \ Reference Assemblies \ Microsoft \ Framework \ v3.5复制到C:\ Program Files \ Reference Assemblies \ Microsoft \ Framework \ v3,来利用本文中记录的解决方法。 0。然后,我重新启动了Visual Studio。

仅此一项并不能解决问题。复制程序集后,我必须将项目转换从2.0重做为3.5。新转换后,代码按预期进行编译。在项目文件的预解决方案和后解决方案之间进行区分并没有发现任何实质性差异,因此,生成错误一定是由于Visual Studio的某些内部状态所致。

关于visual-studio-2010 - 在2.0到3.5项目转换后,Visual Studio 2010编译器看不到Web引用 namespace ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5107539/

相关文章:

c++ - <work.exe>0xC0000005 : Access violation reading location 0x00000000 中 0x002a2da2 处的 NVIDIA 未处理异常

vb.net - 在 DataGridView 中隐藏一行

c# - 如何在动态编译 Windows 应用程序时隐藏控制台窗口?

c# - 确定 .NET 类型是否是动态的(使用 Reflection.Emit 创建)

c# - 在 C# 中临时加载用于客户端身份验证的 SSL 客户端 key

javascript - Jquery 函数可以在本地服务器上运行,但不能在实时服务器上运行?

c# - 想让一个函数得到这个方程的结果?

mysql - log4net Mysql 日志记录在我的 .net 3.5 应用程序中不起作用

c# - 如何在PropertyGrid中编辑根行中的可扩展对象?

c# - 正则表达式有条件地解析文件名和部分路径