升级到Visual Studio 2010后使用'var'时出错

Jim*_*m B 4 c# web-applications visual-studio-2010

我们刚刚从VS2008升级到VS2010.

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

'/'应用程序中的服务器错误.编译错误说明:在编译服务此请求所需的资源期间发生错误.请查看以下特定错误详细信息并相应地修改源代码.

编译器错误消息:CS0246:找不到类型或命名空间名称'var'(您是否缺少using指令或程序集引用?)

打开页面并将鼠标放在'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);
Run Code Online (Sandbox Code Playgroud)

我不相信.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"/>
Run Code Online (Sandbox Code Playgroud)

zin*_*lon 5

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