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

Microsoft Visual Studio 2012 не может установить точку останова в файле С#

У меня установлен Microsoft Visual Studio Professional 2012, версия 11.0.60610.01 Update 3.

При отладке файла С# (.cs) Visual Studio дает мне следующее сообщение, когда я пытаюсь установить точку останова:

"Точка останова не может быть вставлена ​​в это место".

Я получаю это сообщение даже при попытке установить его на линии внутри метода. Но в файле .vb для приложения Visual Basic я могу установить точку останова.

Мне интересно, есть ли у кого-нибудь предложения по его устранению или мне нужно переустановить визуальную студию.

Спасибо

4b9b3361

Ответ 1

Наконец-то я смог найти решение для этого. Мне пришлось сделать ремонт на моем экземпляре Visual Studio 2012 через панель управления → Программы и функции, щелкнув правой кнопкой мыши на Microsoft Visual Studio Professional 2012 и выбрав изменение. В окне Visual Studio я выбрал ремонт.

В рамках процесса ремонта мне также пришлось загрузить веб-развертывание, расположенное здесь: http://www.microsoft.com/en-us/download/details.aspx?id=4148 и указать процесс восстановления визуальной студии в файл .msi, когда он сказал, что не может найти веб-пакет развертывания и не смог загрузить его из Интернета.

Мне также пришлось реализовать исправление, указанное в следующем вопросе stackoverflow: Обычный редактор С# в Visual Studio 2012 (без intellisense, без отступов, без выделения кода)

Теперь я могу отлаживать приложения как ожидалось.

Ответ 2

Возможно, я слишком поздно для этого вопроса, но здесь все равно,

  • BUILD > Чистое решение
  • BUILD > Build Solution

Ответ 3

Я столкнулся с подобной проблемой, и я разрешил ее, выйдя из Visual Studio и удалив файл .suo из моей папки решений.

Этот файл воссоздается, когда вы снова открываете проект, и это не вредно для его удаления.

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

Ответ 4

Хорошо, sheesh... для людей, таких же глупых, как и я, вот еще одна вещь, которую следует учитывать:

Вы можете поместить точки останова на фигурные скобки в начале или в конце метода, и вы можете поместить точки останова на любую строку, которая что-то делает (например, присваивание значения или вызов метода). Однако вы не можете поставить точку останова на строку, которая объявляет только переменную или иначе ничего не делает.

например. У меня был метод:

public IEnumerable<SomeObject> GetList()
{
    int distance;
    var otherVar = SomeValue;
}

Я пытался поставить точку останова на первую строку с помощью int distance;, что отлично работает в других IDE, но это не работает в VS. Мне нужно было подойти к скобе или перейти к следующей строке с заданием, чтобы установить точку останова.

5 минут моей жизни впустую, я никогда не вернусь, пытаясь отладить не-вопрос ;-p

Ответ 5

VS 2017 У меня было это, я отсутствовал; внутри цикла for

Ответ 6

Если в строке нет инструкций для выполнения, VS отказывается установить точку останова и не дает никаких оснований. НАПРИМЕР

string str; //Cannot set breakpoint
string str = ""; //Can set breakpoint