Проблема со сборкой сборки не совпадает с исходным кодом при отладке под IIS 7.5 - PullRequest
4 голосов
/ 31 марта 2011

У меня проблема с отладкой приложения веб-форм, настроенного на использование IIS для отладки, в Windows 7 и Visual Studio 2010. Только что произошел пример, в котором я вносил изменения в код веб-формы, сохраниви, по-видимому, восстановить перед запуском приложения с помощью F5.

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

Исходный файл отличается от того, когда был собран модуль.* где модуль C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root\9d7b45ca\11a98b19\assembly\dl3\5e6cf0b2\636409d4_dfeecb01\PerfixEMS_Admin.DLL

Физическая папка для моего тестового веб-сайта настроена на исходную папку проекта веб-приложения, поэтому я всегда предполагал, что IIS будет искать в папке bin требуемые сборкии они будут восстановлены, как и ожидалось.Почему этого не происходит?

Ответы [ 2 ]

2 голосов
/ 31 марта 2011

Чистка раствора у меня обычно работает.

Обновление

Учитывая большое количество (320) проектов, я понимаю, почему Clean and Build не будет работать для вас. Однако вы должны попробовать его хотя бы один раз, чтобы увидеть, исправляет ли это что-либо.

Если это решит вашу проблему, но не продлится долго, вам нужно будет сделать одну из двух вещей.

Очистить только один файл

Удалить поврежденный временный файл. Вы, вероятно, не сможете сделать это, потому что с VS работает, так как он может иметь блокировку DLL. Возможно, вам также придется остановить IIS. Вы можете использовать Process Explorer для поиска процессов, имеющих блокировку.

Использование нестандартного решения

Маловероятно, что вы собираетесь модифицировать все 320 проектов одновременно. Создайте индивидуальное решение для проектов, над которыми вы работаете. Вы по-прежнему сможете просматривать любой проект, для которого у вас есть DLL и PDB, если вам нужно.


Что делать

Использование нестандартного решения имеет свои проблемы, поскольку вы больше не можете использовать ссылку на проект для проектов, не входящих в ваше решение. Это влияет на исходный контроль вашей команды. Вам также нужно убедиться, что библиотеки DLL и PDB извне вашего решения находятся в стабильном месте, и вам потребуется способ определить, когда в других проектах есть изменения, которые вас волнуют.

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

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

1 голос
/ 31 марта 2011

это может быть обходной путь, но мне просто нужно посмотреть, сработает ли это или нет, тогда мы можем исследовать больше в исходном случае.но сейчас попробуйте следующее:

1 - опубликовать этот веб-сайт в другой папке

2 - открыть недавно опубликованную версию в выбранном вами браузере (например: http://localhost/APP_NAME).

3- В VS откройте меню «Отладка», выберите «Присоединить к процессу ...»

4 - выберите рабочий процесс IIS «w3wp.exe» и нажмите «Присоединить».

( если вы не можете его найти, убедитесь, что установлен флажок «показывать процессы во всех сеансах» )

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...