У меня есть ситуация, когда мне нужно было изменить имена решений и проектов на веб-сайте WebAPI на основе OWIN. До этого изменения все отлично работало, и, насколько мне известно, переименование было успешным из-за следующего:
- Решение построено отлично, и все мои модульные тесты успешно выполняются как локально, так и на сервере сборки TeamCity.
- Приложение отлично работает на нашем тестовом сервере (полный IIS 8) и в процессе производства (также полный IIS 8)
Моя проблема в том, что после этого переименования я не могу запустить класс запуска, когда я запускаю его в IIS Express, независимо от того, что я пытаюсь сделать. Я подозреваю, что есть некоторая кешированная папка, которая содержит несколько классов Startup на моей машине, потому что в нашей тестовой среде мне нужно было удалить все старые библиотеки DLL, которые использовали предыдущее имя, прежде чем все стало работать.
Я знаю, что запуск не выполняется, потому что у меня есть точки останова, которые не срабатывают (и фактически не включены, потому что VS не видит загруженные символы):
Вот что я пробовал до сих пор:
- Удаленный IIS Express 10.0 (у меня есть VS 2015 RC на моей машине dev), очистите все папки IIS, а затем повторно установите IIS Express 8
- Убраны все временные папки ASP.NET на моей машине dev
- Очистить все папки obj/bin в моем собственном решении
В моем случае я указываю класс Startup, используя следующее в моем Startup.cs:
[assembly: OwinStartup(typeof(Startup))]
... но опять же, все это отлично работало, прежде чем я попытался переименовать решение и проекты. Я не думаю, что это общая проблема IIS Express, потому что я могу успешно запускать другие локальные решения на основе OWIN (например, наша реализация IdentityServer3) без проблем... хотя это решение не требовало каких-либо изменений имени.
Есть ли другой аспект использования IIS Express, который может быть сработал, изменив имя решения или файл проекта?
Для справки я уже рассмотрел следующие возможные причины (без везения): - OwinStartup не запускается... Почему? - Отсутствует класс запуска OWIN - Очистка временных файлов ASP.NET - OwinStartup не стреляет