Visual studio только что начала выдавать «error BC30037: Character is not valid.
» мне (при проверке веб-сайта), где бы я ни использовал оператор nullable где-нибудь в одном из моих проектов VB.NET 3.5. Это случилось с коллегой несколько месяцев назад, но он не помнит, как он это исправил.
Например, если я изменяю каждый экземпляр Double?
на Nullable(Of Double)
, он просто прекрасно компилируется, и другое использование значений NULL в других проектах в том же решении продолжает работать просто отлично.
Я попытался очистить решение, закрыть Visual Studio, удалить временные файлы ASP.NET и перезапустить Visual Studio безрезультатно.
Что-нибудь еще, что я мог попробовать?
Сложение:
Я подумал, что упомяну, что синтаксис делегата также не работает. У меня есть этот кусок кода:
Dim hasSkips As Boolean = payments.Where(Function(p) p.Code = "SKIP").Count > 0
Dim isRegular As Boolean = Not hasSkips
payments
является IList(Of Payment)
. У объекта Payment
есть строковое свойство с именем Code
. В Visual Studio нет ошибок проверки или чего-либо видимого, что заставляет его думать, что он не знает, что делает эта строка кода. Intellisense работает просто отлично, но компилятор соответствует синтаксису. Следующие две ошибки сопровождают две вышеуказанные строки кода, соответственно:
error BC30201: Expression expected.
error BC30451: Name 'hasSkips' is not declared.
Казалось бы, Visual Studio ничего не знает о возможностях VB.NET 3.5, о которых он должен знать.