运行时CS0234在VS2010 Web应用程序中访问SOAP Web服务时出错

时间:2011-10-11 21:16:48

标签: asp.net visual-studio-2010 namespaces compiler-errors x86-64

我有一个引用SOAP Web服务的ASP.NET 4 Web应用程序。我的项目中有一个(老式的)Web引用Web引用。当我在IDE中编译/构建时,我没有遇到任何问题,Intellisense和类查看器都向我显示VS知道什么是什么以及在哪里找到它。

但是,当我运行解决方案时,我收到此错误:

enter image description here

旧的CS0234错误(类型或名称空间'< ...>'不存在...)。 Intellisense不同。

我的网络应用程序程序集名为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文件夹的项目,该文件夹包含一些实用程序类。我不确定这会有什么不同,但我确实遇到过至少一个帖子,表明编译器可能会被W​​eb应用程序项目中名为App_Code的代码文件夹所困惑。

“我放弃并重新开始”并不是一个解决问题的方法,但我想我会把它留在这里,连同这个问题 - 以防万一有人用解决方案或以防万一对有同样问题的下一个人有帮助。

1 个答案:

答案 0 :(得分:0)

我通常不会回答我自己的问题。然而,这个问题已经开放,一个多月没有答案。它有相当数量的观点,这让我想知道其他人是否可能没有同样的问题。由于我终于找到了解决方案,在微软的一些直接支持的帮助下,我想我会记录我的解决方案,以防下一个人偶然发现这个错误。


事实证明,Web服务是一个带有这个问题的红色鲱鱼。该问题的真正症结在于与引用类型相关的运行时CS0234错误。它也可以表现为运行时CS0103错误,因为我发现了很难的方法。

我在问题中提到我找到了解决办法。最终的解决方案最终停止了工作,我在这个项目上失控了。我联系了Microsoft寻求支持,经过四天的源代码后,我们找到了一个解决方案。

问题与我的目标平台的编译器配置有关。

由于过去因在桌面上部署多装配应用程序而遭受的一些痛苦,我养成了将构建配置从Any Platform更改为x86的习惯。

这显然会破坏ASP.NET Web应用程序的编译。这听起来像是一个Visual Studio错误,但是,我的运行时错误的解决方案是转到解决方案属性(而不是项目属性)并为构建目标选择Any Platform

我希望这可以为某些人带来一些恶化。如果有人有合理的解释,为什么这不是一个VS错误或者幕后发生的事情,我会很有兴趣听到它并且我保证会为你的问题提供帮助!