После обновления от VS 2015 Update 1 RC до VS 2015 Update 1, я получаю следующее сообщение об ошибке:
Анализатор 'Microsoft.CodeAnalysis.VisualBasic.CodeFixes.SimplifyTypeNames.VisualBasicSimplifyTypeNamesDiagnosticAnalyzer' выбрал исключение типа "System.ArgumentNullException" с сообщением "Значение не может быть нулевым. Имя параметра: source '
в одном из моих проектов. Анализ кода отключен в этом проекте (как и во всех моих проектах в решении), поэтому я попытался включить его и выключить, но все тот же вопрос.
Кажется, что я все еще могу создавать и запускать свое решение, но на самом деле все не работает должным образом после обновления:
- все работает очень медленно
- после внесения изменений и его создания не применяются изменения.
У кого-нибудь еще была эта проблема после недавнего обновления или, возможно, даже раньше?
Потенциальный обход, найденный здесь: https://github.com/dotnet/roslyn/issues/6682, отправленный пользователем dpoeschl.
И это его оригинальный текст:
Временное решение. Установите этот флажок: Инструменты | Варианты | Текстовый редактор | основной | Стиль кода | Квалифицировать доступ членов с помощью "Me"
Это обходное решение имеет два побочных эффекта (о которых я могу думать до сих пор):
1. У вас больше не будет визуального индикатора избыточного Me. или связанное с ним исправление кода, или опции "Исправить все вхождения" в легко достичь соответствия.
2. Любые функции генерации кода, которые генерируют полностью квалифицированные членские обращения и зависят от Упротивления, чтобы удалить их, если это необходимо (или явным образом проверяю этот параметр) теперь будут генерировать несоответствующие по умолчанию.
Включение этой опции особенно неинвазивно в VS2015 & VS2015 Update 1, потому что этот параметр применяется только в одном направлении. То есть флажок, который не установлен, означает, что анализатор работает, делает некоторый более глубокий анализ (который в этом случае не подходит), и предлагает вам лампочку, когда у вас есть квалифицированные доступа к члену, в то время как флажок будучи проверенным, означает, что мы очень быстро отказываемся от более глубокого анализа и вы не получите никаких лампочек, говорящих вам добавить Меня. квалификация.
Это сработало для меня, это может также решить проблему для других.