我們剛剛從VS2008升級到VS2010。升級到Visual Studio 2010後使用'var'時出錯
我們的項目編譯得很好;但是當我們運行Web應用程序時,打開Default.aspx時出現以下錯誤:
'/'應用程序中的服務器錯誤。 編譯錯誤說明:在編譯 期間發生了一個 錯誤,該錯誤需要服務此 請求。請仔細閱讀以下 特定錯誤的詳細信息,並適當修改您的 源代碼。
編譯器錯誤信息:CS0246:該 類型或命名空間名稱「變種」不能 被發現(?是否缺少使用 指令或程序集引用)
開放的頁面,鼠標懸停在'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應用程序時,您是否獲得了此操作? – Greg 2010-06-21 17:27:21
嗯,有趣的問題 – Pierreten 2010-06-21 17:35:38
請顯示代碼的相關部分,所以我們可以在上下文中看到「var」。 – abelenky 2010-06-21 17:36:14