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

17

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

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

  

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

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

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

Спасибо

    
задан user1408767 25.09.2013 в 15:03
источник
  • Вы в отладочном профиле? –  Sam Leach 25.09.2013 в 15:09
  • Вы перезапустили VS? Работает Intellisense? –  tnw 25.09.2013 в 15:13
  • Да. Я в профиль отладки. Я перезапустил VS, и intellisense работает. –  user1408767 25.09.2013 в 15:16
  • В какую строку вы его вставляете? Например, вы не можете поставить точку останова на объявление (если оно не назначено). –  Allan Elder 25.09.2013 в 15:16
  • В тестовом приложении c # для консоли у меня есть строка: t="aaa"; Я получаю то же сообщение, пытаясь установить его в этой строке. –  user1408767 25.09.2013 в 15:20
Показать остальные комментарии

5 ответов

4

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

В рамках процесса ремонта мне также пришлось загрузить веб-развертывание, расположенное здесь: Ссылка и укажите процесс восстановления визуальной студии в файле .msi, когда он сказал, что не может найти пакет развертывания в Интернете и не смог загрузить его из Интернета.

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

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

    
ответ дан user1408767 21.11.2013 в 21:37
16

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

  1. BUILD & gt; Чистое решение
  2. BUILD & gt; Создание решения
ответ дан Kup 06.05.2015 в 19:58
  • К счастью, это сработало для меня. –  Joseph Woodward 20.05.2015 в 11:15
  • Чистая и перестроенная работа для меня –  Nishantha 08.04.2016 в 08:43
7

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

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

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

    
ответ дан Amicable 25.09.2013 в 15:21
  • Спасибо за ответ. Я вышел из визуальной студии, а затем удалил файл .suo. Но когда я снова открыл решение, он все равно дал мне то же сообщение при попытке установить точку останова. –  user1408767 25.09.2013 в 15:26
  • Хорошо, это стоило попробовать. Надеюсь, вы найдете решение, которое будет работать для вас. –  Amicable 25.09.2013 в 15:27
  • У меня такая же проблема, и у меня даже нет файла .suo для замены ... –  Kokodoko 11.03.2015 в 10:50
  • @Kokodoko .suo - скрытый файл. поэтому вам нужно будет проверить, что ваши параметры файла, чтобы убедиться, что они отображаются. –  Amicable 11.03.2015 в 11:20
1

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

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

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

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

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

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

    
ответ дан Kevin Nelson 16.08.2017 в 19:35
1

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

    
ответ дан R2D2 26.10.2017 в 11:31
  • Я тоже заметил это в VS 2017. Иногда, когда у меня есть ошибка компиляции (красные squiggly строки), я тоже не могу разместить точку останова. Но это случается очень редко. –  Nik A. 08.11.2017 в 11:45