15

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

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

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

+0

Такая же проблема здесь ... Любые исправления/обходные пути? – jdstaerk

+0

Обновите свою Visual Studio. VS 2015 Обновление 3 сейчас – EGN

+4

Ошибка с Update 3 (без ошибок до). Также установите новое исправление 3, никаких изменений. Все еще там. – Softlion

ответ

1

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

1) Закрытие Visual Studio

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

0

Судя по этикетке вы были данный «CSharpAddImportCodeFixProvider», я бы предположил, что ваша проблема возникла из-за того, что Visual Studio пыталась определить и/или исправить отсутствующий оператор «using» в верхней части вашего исходного файла кода C#, в котором вы ссылались на класс, который ему нужен , Компоненты 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?) Попытался автоматически разобраться с ситуацией и попытался сгенерировать переменную для ключевого слова «Ответ», но он сработал, пытаясь это сделать - что, в свою очередь, вызвало ошибку, .

1

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

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

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).

- обновление -

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