Подтвердить что ты не робот

CSharpAddImportCodeFixProvider обнаружил ошибку и был отключен

У меня был мой компьютер для повторного отображения. У меня установлена ​​версия Visual Studio Version 14.0.25123.00 Update 2 на моем компьютере. Я получаю эту ошибку, когда пытаюсь использовать VS intellisense для ссылки на другой проект.

CSharpAddImportCodeFixProvider обнаружил ошибку и был отключен

У меня есть два проекта. Один из них использует пространство имен ProjectName.Web. И другой проект с использованием ProjectName.Web.Controllers. Поставщик падает, когда я ссылаюсь на ProjectName.Web.Controllers, я считаю, потому что он настроен как проект. Любая идея, как это исправить?

4b9b3361

Ответ 1

У меня была такая же проблема при обновлении VS-2015.

Я сделал это:

1) Закрытие визуальной студии

2) перезапуск с правами администратора

Ответ 2

Может быть несколько причин, по которым возникает эта ошибка. Таким образом, этот ответ может не применяться ко всем ситуациям, хотя кажется, что это происходит только при упоминании другого проекта.

Ошибка для всех операторов. В моем случае у меня был следующий код:

private System.Threading.Timer Timer;

public void Start()
{
    Timer.Change(0, 60000);
}

Как только intellisense откроется для Timer.Change(, произошла ошибка. Обратите внимание, что в этот момент у меня не было параметров. Если действительные параметры присутствуют, ошибок не будет.

Я мог бы решить проблему, обновив версию фреймворка. Я узнал, что оба проекта нацелены на разные рамки, соответственно. 4.5.2 и 4.6.

Пока версии фреймворка различны, возникает ошибка. Как только оба будут равны (либо 4.5.2, либо 4.6), ошибка больше не отображается.

Я тестировал это с помощью VisualStudioVersion = 14.0.25420.1 (сообщество Visual Studio 2015).

- обновить -

Я сообщил об этом как ошибка в Microsoft. Включая шаги для воспроизведения.

Ответ 3

Судя по метке, которую вы предоставили, "CSharpAddImportCodeFixProvider", я бы предположил, что ваша проблема возникла из-за того, что Visual Studio пыталась определить и/или исправить отсутствующий оператор "using" в верхней части вашего исходного файла кода С#, в котором вы сделали ссылку на класс, который ему нужен. Компоненты Visual Studio, которые обычно имеют дело с этим типом проблемы, это Intellisense или сторонние плагины подсветки синтаксиса, такие как ReSharper от JetBrains.

С другой стороны, я не совсем уверен, что это ошибка Intellisense, а не плагин ReSharper's. Это будет определено.

Я сделал аналогичный отчет об ошибке с Microsoft. Ошибка в моем случае, по-видимому, была результатом того, что Intellisense не знает, как бороться с логической ошибкой в ​​моем собственном коде (см. https://connect.microsoft.com/VisualStudio/feedback/details/3133049).

В моем случае у меня был непреднамеренно размещенный код для метода вне его определения класса, хотя внутри его аналогично названного пространства имен. Обновление Visual Studio 2015 Update 3,

'GenerateVariableCodeFixProvider' обнаружил ошибку и был отключено.

Исправление заключается в том, чтобы переместить мой метод обратно в соответствующее определение класса, но он определенно принес ошибку Visual Studio на поверхность.

В частности, Visual Studio Intellisense увидела строку кода,

    Response.Write("I did something"); 

помещается в метод, объявленный вне определения класса (т.е. внутри пространства имен, но непреднамеренно не внутри его класса). "FeatureLabel" обнаружил ошибку и был отключен ". Затем ошибка была отображена на желтой полосе в верхней части окна моего редактора, а рядом с ней появилась кнопка" Включить ", а рядом с ней была отображена кнопка" Включить и игнорировать будущие ошибки ".

Я считаю, что Intellisense (или ReSharper?) попытался автоматически разобраться с ситуацией и попытался сгенерировать переменную для ключевого слова "Ответ", но он сработал, пытаясь это сделать - что, в свою очередь, вызвало ошибку, которая была отображается.