【发布时间】:2011-12-05 16:00:00
【问题描述】:
我有一个引用 SOAP Web 服务的 ASP.NET 4 Web 应用程序。在我的项目中,我有一个对此 Web 服务的(老式)Web 引用。当我在 IDE 中编译/构建时,我没有遇到任何问题,Intellisense 和 Class Viewer 都向我展示了 VS 知道什么是什么以及在哪里可以找到它。
但是,当我运行解决方案时,我得到了这个错误:
旧的 CS0234 错误(类型或命名空间“<...>”不存在...)。 Intellisense 不一样。
我的 Web 应用程序集称为 NovaWeb,我的 Web 引用称为 WS3。我可以看到我的 Reference.cs 文件包含以下内容:
namespace NovaWeb.WS3 {
不久前这一切都很好,但我显然改变了一些东西,现在一切都坏了。我已尝试清除 /bin 文件夹中的所有文件以及我的 appdata 文件夹中的所有临时 ASP.NET 文件。
有人对我如何解决此问题有任何建议吗?
编辑:我的解决方法...
如果有人提出答案,我仍然有麻烦的项目。我可以试试看是否存在解决方案。与此同时,我迫不及待地想得到真正的解决方案,所以我采取了解决方法。
我所做的是从头开始使用全新的 VS2010/.NET 4 Web 应用程序项目,并将我的源代码文件逐个移动到新项目中。失败的解决方案 (.sln) 和变通解决方案之间存在一些显着差异。它们是:
- 解决方法为每个项目提供一个解决方案 (.sln)。问题解决方案在一个 .sln 中包含两个 Web 应用程序和三个 EF4 数据库项目。
- 变通解决方案是从 VS2010 中的一个绿色字段(空的 ASP.NET Web 应用程序)模板开始的,并从一开始就以 .NET 4.0 为目标。问题解决方案的部分内容始于 VS2008,最初针对 .NET 2.0。
- 解决方案项目完全避免了 App_Code 文件夹的任何提示。问题解决方案有一个项目,其中包含一些实用程序类的 App_Code 文件夹。我不确定这是否有丝毫不同,但我确实遇到过至少一篇帖子,其中暗示编译器可能会被 Web 应用程序项目中名为 App_Code 的代码文件夹混淆。
“我放弃并重新开始”并不是解决问题的方法,但我想我会把它和这个问题一起留在这里 - 以防有人遇到解决方案或根本没有解决方案对下一个遇到同样问题的人有帮助。
【问题讨论】:
-
尝试清理和删除 Bin 和 obj 文件夹?
-
我尝试删除 ASP.NET 临时文件以及 \bin 和 \obj 文件夹并运行 Clean Solution。构建很好,0 个错误、警告或消息。但是,运行引用 Web 服务的页面会导致 CS0234。
-
这是一个网络应用项目,还是一个网站(文件->新建网站)?
-
这是一个网络应用程序。它是使用 VS2010 中的 Empty ASP.NET Web Application 模板创建的。
标签: asp.net visual-studio-2010 namespaces compiler-errors x86-64