Мы недавно обновили VS2008 до VS2010.
Наш проект компилируется нормально;но когда мы запускаем веб-приложение, мы получаем следующую ошибку при открытии 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);
Я не верю, что причиной является .NET 4.0;мы только обновились с VS2008 до VS2010;мы не мигрировали с .NET 3.5 на .NET 4.0
. Я дважды проверю сервер ASP.NET Development Server и IIS и через несколько минут отправлю сообщение с результатами.Это определенно выбрасывается с сервера разработки.
Edit 2 Это выбрасывается как с сервера разработки, так и с IIS.System.Xml.Linq также включен в раздел сборок нашего web.config:
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>