Я создаю веб-сайт с N2, используя пакеты NuGet (которые я собираю прямо из GitHub). Все файлы, составляющие интерфейс управления в папке / N2, скомпилированы в N2.zip, и есть поставщик виртуального пути, настроенный для обслуживания чего-либо в папке / N2 из zip-файла.
На моей машине для разработки все работает отлично. Когда я развертываю его на веб-сервере (под управлением IIS 6 или IIS 7.5), запросы на файлы в папке / N2 возвращаются с 404. Есть любопытное исключение: запросы со значениями строки запроса обрабатываются. Например, /N2/Login.aspx?ReturnUrl=%2fn2
работает, а /N2/Resources/Css/All.css
- нет. (Я использую Fiddler 2 для мониторинга запросов.)
Это сайт MVC, работающий под .Net 4.0 и предварительно не скомпилированный.
Я включил трассировку ASP.Net в web.config, и из этого я вижу, что VPP выполняется, потому что он записывает строки трассировки, начинающиеся с ZipVPP:
ZipVPP: False ~/default.cshtml
ZipVPP: False ~/default.vbhtml 4.79004203405183E-05 0.000048
ZipVPP: False ~/index.cshtml 9.07992130999052E-05 0.000043
ZipVPP: False ~/index.vbhtml 0.000125475536747951 0.000035
ZipVPP: False /Views/Home/Index.aspx 0.000476485344693378 0.000351
ZipVPP: False /Views/Home/Index.ascx 0.000554325119945653 0.000078
ZipVPP: False /Views/Shared/Index.aspx 0.000631632393110378 0.000077
ZipVPP: False /Views/Shared/Index.ascx 0.000704500969472239 0.000073
ZipVPP: False ~/Views/Home/_ViewStart.cshtml 0.000794229163423298 0.000090
ZipVPP: False ~/Views/Home/_ViewStart.vbhtml 0.000833389826910285 0.000039
ZipVPP: True ~/Views/_ViewStart.cshtml 0.000872745800133037 0.000039
ZipVPP: False ~/_ViewStart.cshtml 0.000935947959862434 0.000063
ZipVPP: False ~/_ViewStart.vbhtml 0.000972131211344948 0.000036
ZipVPP: True ~/Views/Shared/_Layout.cshtml 0.00102791407786914 0.000056
ZipVPP: False /Views/Home/LayoutPartials/Rotator.aspx 0.00113080303437734 0.000103
Это говорит о том, что это может быть ошибка в VPP, но я не уверен.