Microsoft Visual Studio 2012 не может установить точку останова в файле С#
У меня установлен Microsoft Visual Studio Professional 2012, версия 11.0.60610.01 Update 3.
При отладке файла С# (.cs) Visual Studio дает мне следующее сообщение, когда я пытаюсь установить точку останова:
"Точка останова не может быть вставлена в это место".
Я получаю это сообщение даже при попытке установить его на линии внутри метода. Но в файле .vb для приложения Visual Basic я могу установить точку останова.
Мне интересно, есть ли у кого-нибудь предложения по его устранению или мне нужно переустановить визуальную студию.
Спасибо
Ответы
Ответ 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