У меня есть веб-сайт VS 2005, который я публикую, используя "Публиковать веб-сайт", и я очищаю все три флажка. У меня также есть проект развертывания, который собирает опубликованные файлы и создает MSI. Затем я устанавливаю пакет на отдельный тестовый сервер.
Иными словами, весь сайт предварительно скомпилирован. Однако, когда я перехожу к любому .aspx файлу в определенной подпапке под названием "Сервисы", я получаю HttpException:
System.Web.HttpException: Файл '/myapp/Services/mypage.aspx' не был предварительно скомпилирован и не может быть запрошен.
Если я перейду в файл .aspx в другой папке, будь то корневая или другая подпапка, она работает правильно.
Содержимое самого mypage.aspx: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="mypage.aspx.cs" Inherits="Services_mypage" %>"
В папке /myapp/bin
я вижу файл mypage.aspx.989dc2fb.compiled
. Содержание этого, похоже, указывает на определенную сборку, которая также присутствует в папке bin.
Почему эта ошибка возникает? Файл .compiled есть, и сборка есть, и тип, о котором идет речь, присутствует в этой сборке (я вижу это в Обозревателе объектов). Это что-то о имени или содержимом файла .compiled? Есть ли у меня неправильная версия? Что означает случайное число в имени .compiled filename и важно ли это?
Я также хочу упомянуть, что этот вопрос появился внезапно, и я не уверен, какие изменения там могут быть сделаны, так как он работал правильно несколько дней назад (но, насколько мне известно, ни одного).