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

Visual Studio 2013, держась за файл App_global.asax.PDB?

С момента обновления до Visual Studio 2013 (с 2012 года) я заметил, что при отладке моего приложения ASP.NET MVC 5 я иногда получаю сообщение об ошибке компилятора с помощью IIS Express:

Описание: Произошла ошибка во время компиляции ресурса требуется для обслуживания этого запроса. Ознакомьтесь со следующими конкретными детали ошибок и соответствующим образом изменить исходный код.

Сообщение об ошибке компилятора: CS0042: непредвиденная ошибка при создании отладки информационный файл 'c:\Users\Jeff\AppData\Local\Temp\Temporary ASP.NET Файлы \root\368a9040\83fb9039\App_global.asax.PDB '- 'c:\Users\Jeff\AppData\Local\Temp\Temporary ASP.NET Файлы \root\368a9040\83fb9039\App_global.asax.pdb: процесс не может доступ к файлу, потому что он используется другим процессом.

Ошибка источника:

[Нет соответствующих строк исходного кода]

Исходный файл: Линия: 0

Эта ошибка исчезает, если я открываю Process Explorer, а затем ищет дескриптор App_global.asax.pdb(этот файл имеет DevEnv.exe) и принудительно закрывает его, а затем обновляет страницу. Однако это неудобно, и я никогда не делал этого до 2013 года.

У кого-нибудь есть идея, почему это происходит с перерывами в 2013 году, но не раньше?

Единственная возможная вещь, о которой я мог подумать, - это некоторая непонятная проблема с шагом Razor Generator MSBuild, который я использую, но я не мог понять, почему это было бы App_Global.asax, а не представление (и даже тогда он не должен компилироваться для немодифицированного представления)

4b9b3361

Ответ 1

После обновления до VS2013 мы столкнулись с этой проблемой в большом веб-приложении, которое мы разрабатываем. Мы решили удалить атрибут optimizeCompilations = "true" из элемента компиляции в нашем файле Web.Config.

Я также пробовал VS2013 Update 1 и VS2013 Update 2 RC, и ни одна из них не разрешает эту проблему.

Ответ 2

Я не уверен, что наши проблемы идентичны, но я решил проблему для меня, отключив Edit и Continue.

Инструменты → Параметры → Отладка → Изменить и продолжить → Снимите флажок "Включить редактирование и продолжить".