【问题标题】:Error using 'var' after upgrading to Visual Studio 2010升级到 Visual Studio 2010 后使用“var”时出错
【发布时间】:2011-03-06 10:33:08
【问题描述】:

我们刚刚从 VS2008 升级到 VS2010。

我们的项目编译良好;但是当我们运行Web应用程序时,打开Default.aspx时出现以下错误:

“/”应用程序中的服务器错误。 编译错误描述:一个 编译过程中发生错误 提供服务所需的资源 要求。请查看以下内容 具体错误详情并修改您的 适当的源代码。

编译器错误消息:CS0246: 类型或命名空间名称“var”不能 被发现(您是否缺少使用 指令还是程序集引用?)

打开页面,将鼠标悬停在“var”声明上,VS2010 正确识别出它的类型是 RegEx。

我在想升级期间我们的 web.config 或 machine.config 中可能发生了一些奇怪的事情。

以前有人遇到过这个问题吗?任何帮助将不胜感激,希望它可以节省我一些时间深入研究这些文件。

编辑: 这是爆炸的相关代码部分:

Line 10:    protected void valSearchFreeText_ServerValidate(object source, ServerValidateEventArgs args)
Line 11:    {
Line 12:        var url = new Regex(@"http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?", RegexOptions.IgnoreCase);
Line 13:        var html = new Regex(@"[<,>]", RegexOptions.IgnoreCase);
Line 14:        args.IsValid = !html.IsMatch(args.Value) && !url.IsMatch(args.Value);

我不认为 .NET 4.0 是原因;我们只从VS2008升级到VS2010;我们没有从 .NET 3.5 迁移到 .NET 4.0

我将仔细检查 ASP.NET 开发服务器与 IIS,并在几分钟后将结果发回。它肯定是从开发服务器中抛出的。

编辑 2 这是从开发服务器和 IIS 中抛出的。 System.Xml.Linq 也包含在我们的 web.config 的程序集部分中:

<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>

【问题讨论】:

  • 在 IIS 或开发服务器上运行 Web 应用程序时,你会得到这个吗?
  • 请显示相关的代码部分,以便我们在上下文中看到“var”。
  • 你确实有' using System.Linq '指令,对吧?

标签: c# web-applications visual-studio-2010


【解决方案1】:

检查您的 web.config 文件中的 configuration/system.codedom/compilers/compiler 节点。应该有一个providerOption 子节点来确定要使用的编译器版本。它应该看起来像&lt;providerOption name="CompilerVersion" value="v3.5"/&gt;。听起来你说的是 2.0 而不是 3.5。

【讨论】:

  • 做到了。我们负责迁移的开发人员将这些从应用程序级别的 web.config 文件移到了机器级别的 web.config 文件中。更新的机器级 web.config 从未影响到我们的开发环境。将其添加到修复的所有内容中。
【解决方案2】:

IIS 中的关联应用程序池是否设置为使用 .Net 4 框架?

【讨论】:

  • 我不认为是这样。我们只从 VS2008 升级到 VS2010。我们没有从 .NET 3.5 迁移到 .NET 4.0。
【解决方案3】:

确保目标框架设置为 3.5 或更高版本 另外,请仔细检查应用程序根文件夹中是否有一个好的 web.config 文件(复制推荐的 web.config 并重命名它。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-01
    • 2011-02-17
    • 1970-01-01
    • 2011-03-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多