我使用 Visual Studio 2008 模板为 ASP.NET 3.5 Web 应用程序(不是网站)创建了一个 Web 部署项目。
我编译了创建部署所需文件的项目。我将生成的文件夹(bin、静态文件和所有带有 aspx 占位符的文件夹等)复制到我想要测试应用程序的登台服务器。
如果我没有标记“允许此预编译站点可更新”选项,我在浏览器中加载的每个页面上都会收到以下错误消息:
System.Web.HttpException 文件 PAGENAME.aspx 尚未预编译, 并且不能被请求。
堆栈跟踪中的最后一行:
System.Web.Compilation.BuildManager.GetVPathBuildResultInternal( VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, 布尔值 allowBuildInPrecompile) +8756366
如果我选中该选项,一切都很好(我猜是因为实际的 aspx/ascx 仍然以其原始形式存在)。
知道我在这里缺少什么吗?是否有一些我忘记复制的设置或特殊文件?
谢谢!
笔记:
- 我有一些对第三方程序集的引用
- 我已经检查了登台服务器上的 bin 文件夹。它包含包含所有类的预编译程序集(我使用反射器分析程序集)。