换句话说,整个网站是预编译的。但是,当我去名为“服务”的特定子文件夹中的任何.aspx文件时,我得到一个HttpException:
System.Web.HttpException: The file ‘/myapp/Services/mypage.aspx’ has not been pre-compiled,and cannot be requested.
如果我去一个.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文件中的似乎随机数是什么意思,它是很重要的?
我还想提一下,这个问题突然出现,我不知道什么改变可以做,因为它在几天前正常工作(但据我所知,没有)。
解决方法
This error will come when a reference is specified in web.config and deployment folder/site does not contain these dlls installed in the system or bin folder does not contain them(if they are private assemblies).
For Example: (add assembly=”Namespace1.NameSpace2,Version=x.x.x.x,Culture=neutral,PublicKeyToken=31bf3856ad364e35″/)
if your web.config contains any assemblies like this and deployed server doesnot contain these assembiles in bin or GAC,then this error will occur.
人们报告,目标服务器上缺少的程序集最终成为根本原因,在他们的情况下,但他们有与你相同的错误。奇怪的。
也许这是问题?