【发布时间】:2010-10-10 18:26:45
【问题描述】:
我有一个使用“发布网站”发布的 VS 2005 网站,我清除了所有三个复选框。我还有一个部署项目,可以获取已发布的文件并创建一个 MSI。然后我将包安装在单独的测试服务器上。
换句话说,整个网站都是预编译的。但是,当我转到名为“Services”的特定子文件夹中的任何 .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 文件。 this 的内容似乎指向了 bin 文件夹中也存在的某个程序集。
为什么会出现这个错误? .compiled 文件在那里,程序集在那里,并且该程序集中存在相关类型(我可以在对象浏览器中看到它)。与 .compiled 文件的名称或内容有关吗?我有错误的版本吗? .compiled 文件名中看似随机的数字是什么意思,是否重要?
我还想提一下,这个问题是突然出现的,由于几天前它工作正常,我不确定可以进行哪些更改(但据我所知,没有)。
【问题讨论】:
-
如果以前可以正常工作,但突然收到此错误消息,请尝试在 ApplicationPool 的高级选项中将“启用 32 位应用程序”设置为 True。
标签: asp.net deployment webforms