VS 2015 Обновление 1 - Заявка Я отлаживаю сборку выпуска

После обновления к обновлению VS 2015 1, если я запустил веб-проект (MVC), остановите приложение, а затем попробуйте запустить его снова, VS остановится и появится диалоговое окно, требующее

Вы отлаживаете сборку выпуска <myproject.dll>.

Использование Just My Code с версиями релизов с использованием оптимизации компилятора приводит к ухудшению качества отладки (например, точки останова не будут удалены).

Проблема в том, что я не запускаю сборку релиза. У меня явно работает (такая же) отладочная сборка, с которой я только что побежал! Почему VS думает, что я запускаю сборку релизов?

Очистка решения и повторная работа очищают сообщение об ошибке, поэтому что-то где-то где-то закрыто.

Ответ 1

Слово от Microsoft состоит в том, что это известная проблема (первоначально она отправлялась в команду Debugger, но была определена, что это проблема сборки, и теперь она находится в команде команды Project Project., и он оценил Приоритет 1, поэтому должен быть включен для следующего обновления. Хотя, как и следовало ожидать, нельзя сделать promises относительно того, когда он будет выпущен (или то, что на самом деле находится в обновлении).

Итак. Он известен и работает. По крайней мере, отключить "Включить только мой код" в разделе "Параметры отладки", похоже, сейчас работает.

Ответ 2

Как упомянул @romanoza, Microsoft обновила (теперь отсутствует) отчет об ошибках Microsoft Connect (ранее находившийся здесь, на случай, если вы сможете где-нибудь найти архив) следующей информацией:

Снимите флажок Отладка → Параметры → Подавить оптимизацию JIT при загрузке модуля (только для управляемого)

Это обходной путь. Они говорят позже:

Мы рекомендуем людям не проверять его, так как его отключение улучшит производительность и поведение только моего кода в определенных сценариях.

Наконец, подтверждение:

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

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

Ответ 3

Я заметил, что ответы здесь неполные, у меня возникла та же проблема, и она была решена путем открытия свойств проекта, а также на вкладке сборки и отладки конфигурации, сняв флажок "Оптимизировать код". Вы также должны проверить менеджер конфигурации, как упомянуто выше, чтобы убедиться, что это также звук. Ответ пришел из этого поста, и они должны получить кредит: Проект VS2015 больше не работает в режиме отладки

Спасибо,

Ответ 4

Очистка (и перестройка) решение работает для меня как временное решение. Также вы можете выбрать "Отладка" > "Параметры" и снять флажок Suppress JIT optimization.

Ответ 5

Я решил проблему с установкой конфигурации на Debug в окне Configuration Manager, как предложено в этом ответе.

enter image description here

Ответ 6

У меня была такая же проблема с момента обновления к обновлению VS2015.

Нашел аналогичный отчет на форумах Microsoft Visual Studio, который указывает на отчет об ошибке, который был поднят с ними здесь

Существуют различные обходные пути, но я думаю, что основная проблема заключается в том, что IIS Express не завершается, когда отладка завершена - и не из-за того, что опция edit и continue не установлена. Самое быстрое обходное решение, которое я могу найти, до тех пор, пока ошибка не будет исправлена:

  • Щелкните правой кнопкой мыши значок значка IIS в лотке и выйдите из него после отладки (кредит Дэвиду Тоцке, который предоставил обходной путь в отчете об ошибке)

Не очень, но я не думаю, что на данный момент доступно подходящее решение.

Ответ 7

Я столкнулся с той же проблемой. Я решил проблему, вручную удалив все файлы из папки "bin", а затем перестроил решение. Я больше не получаю этот диалог.

Ответ 8

В моем случае я изменил "Активную платформу решения" для всего решения в "Configuration Manager" от x86 до Any CPU, исправил проблему

Ответ 9

Проверьте свое решение Свойства конфигурации. Я столкнулся с той же проблемой и обнаружил, что моя конфигурация отладки фактически создает некоторые проекты с конфигурацией выпуска.

Ответ 10

Я заметил, что Visual Studio не убивал процесс iisexpress после того, как я остановил отладчик. Вручную убить процесс, казалось, исправить это для меня.

Теперь это обновление исправлено в обновлении 2.

Ответ 11

Кажется, что существует так много решений, как есть люди, имеющие проблему, но в моем случае мне пришлось удалить и повторно добавить ссылку на проект. Ссылка на проект была в проекте unit test в том же решении.

Ответ 12

В моем случае сообщение об ошибке было правильным. Я запустил приложение, которое загрузило выпущенную версию. Поэтому я исправил это, заставив приложение загрузить версию отладки.

Элементарно, я знаю и понимаю, что выгляжу как идиот. Но иногда проблема именно в том, что сообщается.

Ответ 13

Убедитесь, что URL-адрес проекта IIS фактически указывает, что вы думаете. Если есть сомнения, нажмите кнопку "Создать виртуальный каталог".

Недавно у меня была эта проблема, когда я запускал временную версию производственной базы кода и переместил папку в IIS во временную версию, которая, действительно, выполняла производственную сборку, а не версию отладки, которую я пытался отладки.

Ответ 14

Для меня я нашел 3\Release\папку refs в этом файле FileListAbsolute.txt:

C:\Projects\MyWebApp.Web\OBJ\Release\MyChildWebApp.Web.csproj.FileListAbsolute.txt

Они были такими:

C:\Projects\MyWebApp.Web\OBJ\Release\MyChildWebApp.Web.csprojResolveAssemblyReference.cache

C:\Projects\MyWebApp.Web\OBJ\Release\MyChildWebApp.Web.dll

C:\Projects\MyWebApp.Web\OBJ\Release\MyChildWebApp.Web.pdb

И просто удалив эти 3 строки за пределами VS, повторное открытие решения решило проблему. Надеюсь, это поможет.

Ответ 15

Я пробовал все ответы, и тот, который работал у меня, удаляет некоторый пакет NuGet, а не только ссылку, но удаляет пакет, в моем случае PostSharp. Сначала я попытался удалить ссылку из всех проектов, и это не сработает, а затем я просто удалил пакеты из менеджера. Я не совсем понимаю причину, но то, что решает мои проблемы, надеюсь, что это может помочь кому-то там.

Ответ 16

Перезапустите Visual Studio. Это исправило проблему для меня в 2017 году Professional.

Ответ 17

Вот что сработало для меня.

Если веб-проект, перейдите в свойства проекта веб-проекта и

  1. Если выбран Local IIS, перезапустите сервер IIS.
  2. Если выбран IIS Express, выйдите из IIS Express из значка на панели задач.

Кажется, некоторые dll кэшируются, поэтому приведенные выше шаги сделают кеш недействительным.

Ответ 18

Довольно точно это было исправлено в обновлении Visual Studio 2015 Update 2.

Я видел это все время (несколько раз в день) и не видел его с момента обновления до обновления 2.