【发布时间】:2013-01-23 14:38:34
【问题描述】:
我在 Visual Studio 2010 中创建了一个 C# Web 应用程序。然后我从另一个 VS 解决方案中复制了一些 ASPX 文件(以及背后的代码)。我必须通过并清理一些参考资料和东西。最终我把所有东西都清理干净了,除了一件奇怪的事情。在 VS 中,我在以下代码行中看到红色波浪线:
if (Request.QueryString["b"] != null)
这些行位于 Request.QueryString["b"] 部分下方。当我将鼠标悬停在它上面时,我看到以下错误消息:
无法将带有 [] 的索引应用于“System.Collections.Specialized.NameValueCollection”类型的表达式
这是在页面后面的代码的 Page_Load 事件中。真正奇怪的是,如果我构建项目,它构建得很好,没有任何问题,红色的波浪线消失了。但是,如果我关闭并重新打开文件 - 我看到相同的红色波浪线,VS 再次抱怨。
有什么想法吗?我很困惑。我尝试重建、清理解决方案、关闭 VS 并重新打开等。
编辑:这是文件的使用部分。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ServiceModel;
using System.Collections.Specialized;
另外,这里是 ASPX 文件的标头:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="beamswitch.aspx.cs" Inherits="AIMSWeb.data.beamswitch" %>
【问题讨论】:
-
你是否安装了 ReSharper 之类的插件?
-
没有。奇怪的是,这个完全相同的代码在其他解决方案中没有任何问题。此外,它还在对 Request 对象(Request.Form、Request.ServerVariables)的所有引用下显示红色波浪线。很奇怪。
-
如果您在 QueryString 上按 F12,您会到达哪里?你有使用 System.Collections.Specialized 吗?
-
试试
if(!String.IsNullOrEmpty(Request.QueryString["b"])) -
Corey,.cs 文件顶部的 using 部分是什么样子的,您是否厌倦了更改项目以将其升级到 .net 4.0 项目然后再次降级到 3.5 重新编译它.. ?
标签: c# asp.net visual-studio-2010