Visual Studio 2010 не отлаживает код .NET 2.0 - PullRequest
5 голосов
/ 15 июня 2010

Пожалуйста, придерживайтесь меня, это странно.

После обновления с VS2008 до VS2010 некоторые ребята на работе (и я) обнаружили, что мы больше не можем отлаживать наш код. Ни одна из наших точек останова не была повреждена.

Не отдавая слишком много, моя работа состоит в написании приложений .NET, которые работают поверх разработанного нами приложения на платформе. Эти приложения скомпилированы в .NET 2.0. Отладка обычно включает в себя установку исполняемого файла приложения нашей платформы в качестве программы запуска для запуска и оттуда запуска.

Интересно, что ни у одного из наших разработчиков, работающих на компьютерах с Vista / Windows 7, не было проблем - только толпа Windows 2003 / XP.

Что-то в комбинации Visual Studio 2010, .NET 2.0 и Windows XP означало, что мы больше не могли отлаживать свои приложения.

Я понятия не имею, почему эта проблема должна возникать только на машинах с Windows 2003 и XP. Кто-нибудь может пролить свет?

Ответы [ 4 ]

7 голосов
/ 15 июня 2010

Мне удалось найти обходной путь, благодаря этому посту .Кажется, проблема в том, что при отладке в коде, который вызывается из собственного exe-файла, Visual Studio будет предполагать, что вы отлаживаете в .NET 4.0.Впоследствии весь ваш код .NET 2.0 будет работать, но отладчик не достигнет ни одной из ваших точек останова.

Исправление - дать отладчику полезную подсказку в виде файла .exe.config вкаталог, из которого вы запускаете свой загрузочный exe.Что-то вроде:

<?xml version="1.0"?>
<configuration>
  <startup>
    <supportedRuntime version="v2.0.50727" />
  </startup>
</configuration>

Это работает как исправление, но на самом деле не отвечает, почему это произошло в первую очередь.

1 голос
/ 23 апреля 2011

Я боролся с этой проблемой и не мог использовать файл конфигурации с Outlook. Outlook жаловался, когда пытался запустить. Итак, я нашел другой обходной путь. Я изменяю целевую платформу на 4.0 вместо 2.0. Это возвращает мой режим отладки. Я изменяю его обратно перед публикацией и затем выполняю дополнительное тестирование на другом компьютере 2.0 без отладки.

1 голос
/ 15 июня 2010

Попробуйте удалить файлы опций пользователя для проектов и решения.Удалите все папки obj и bin.Что еще более важно, очистите временные файлы.

Использование временных файлов Visual Studio 2008, например:

  • ("% APPDATA%") & "\ Microsoft \ VisualStudio \ 9.0 \ ProjectAssemblies")
  • ("% USERPROFILE%") & "\ Local Settings \ Application Data \ ApplicationHistory")
  • ("% USERPROFILE%") & "\ Local Settings \ Application Data \ Microsoft \ VisualStudio \ 9.0 \ ProjectAssemblies")
  • ("% WINDIR%") & "\ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files")

Пример из реальной жизни

Я отлаживал Coding4Fun Поиск на рабочем столе Код VB.NET на http://blogs.msdn.com/b/coding4fun/archive/2007/01/05/1417884.aspx. Я заметил, что в некоторых файлах исходного кода отсутствует панель навигации.Кроме того, в контекстном меню редактора пункт меню «Перейти к определению» был отключен.Я закрыл Visual Studio, удалил файл решения .suo и все файлы проекта .user, заново открыл решение, и все вернулось в нормальное состояние.

0 голосов
/ 17 ноября 2011

У меня тоже была эта проблема. После того, как я преобразовал решение в Visual Studio 2010, кнопка отладки не работала. При устранении проблемы я обнаружил, что не могу удалить один или два различных файла в папке bin \ debug. Это мог быть файл .vshost.exe. Блокировка файла заставила меня понять, что у меня было открытое и свернутое решение в Visual Studio 2008. Упс :) Я закрыл VS 2008, и он работал в VS 2010.

...