Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 修复:System.Web.HttpException:该文件尚未预编译,无法请求_Javascript_C#_Asp.net Mvc_Iis - Fatal编程技术网

Javascript 修复:System.Web.HttpException:该文件尚未预编译,无法请求

Javascript 修复:System.Web.HttpException:该文件尚未预编译,无法请求,javascript,c#,asp.net-mvc,iis,Javascript,C#,Asp.net Mvc,Iis,我们发布了我们的网站,一切正常。几天后,奇怪的事情发生了。我们得到“文件'xxx.cshtml'尚未预编译,无法请求。” 重置应用程序池,甚至重新启动IIS都不能帮助我们解决问题。即使重置Web服务器机器也无法解决问题。但当我们再次复制已发布的文件时,网站又开始工作了。 我们将问题网站文件与新文件进行了比较,所有文件都是相同的。什么都不缺。因此,每两三天,我们都会遇到相同的错误,唯一可以修复它的方法是重新复制文件 我们甚至复制网站时,我们得到了一个错误,然后创建另一个网站的基础上,这些文件和它的

我们发布了我们的网站,一切正常。几天后,奇怪的事情发生了。我们得到“文件'xxx.cshtml'尚未预编译,无法请求。”

重置应用程序池,甚至重新启动IIS都不能帮助我们解决问题。即使重置Web服务器机器也无法解决问题。但当我们再次复制已发布的文件时,网站又开始工作了。 我们将问题网站文件与新文件进行了比较,所有文件都是相同的。什么都不缺。因此,每两三天,我们都会遇到相同的错误,唯一可以修复它的方法是重新复制文件

我们甚至复制网站时,我们得到了一个错误,然后创建另一个网站的基础上,这些文件和它的工作良好! 有什么建议会导致这个问题吗

提前感谢。

关于错误 System.Web.HttpException:该文件尚未预编译,无法请求 在web.config和中指定引用时,将出现此错误 部署文件夹/站点不包含安装在中的这些DLL 系统或bin文件夹不包含它们(如果它们是私有的) 组件)。例如:(add assembly=“Namespace1.NameSpace2, 版本=x.x.x.x,区域性=中性,PublicKeyToken=31bf3856ad364e35/) 如果您的web.config包含任何类似这样的程序集并已部署 服务器在bin或GAC中不包含这些assembiles,则会出现此错误 将会发生


情节: 以下是一些可能会产生此错误的场景:

  • 当我们发布带有“可更新”复选框的网站时 复制部署位置上包含某些标记或代码的某些文件。通过 将“可更新”检查关闭,我们指示ASP.NET编译器将所有标记和代码编译成DLL文件,以便进一步在ASP.NET上不考虑运行时编译内容。但如果需要(由于存在此类内容),它将抛出该错误

  • 第二种情况是,我们在中配置了web应用程序 Net直接运行IIS(http项目),然后我们再次将其发布到同一位置,并勾选“可更新”选项。在同一位置将有开发文件,这将导致类似的错误

  • 另一种情况是,我们有一个预编译的网站,并且在 它的根文件夹我们有另一个文件夹,其中包含另一个asp.net的内容 应用程序,但在IIS中未标记为应用程序。ASP.Net跟踪ASP.Net 通过IIS中标记为应用程序的虚拟目录在IIS上运行应用程序时。父文件夹中包含未编译内容的子文件夹 预编译的应用程序将再次导致此错误

  • 资料来源:微软支持部

    显然,这是另一种情况,原因与缺少ReportViewer.dll引用有关


    解决
    • 讨论如何手动添加缺少的程序集文件
    我发现在发布应用程序时它会做一件事 不复制bin文件夹中的所有依赖程序集。因此 将它们手动复制到服务器,现在一切正常

    • 其他人在安装“MicrosoftWebServiceEnhancementsV3.0”时不知何故修复了此问题。它可能提供了缺少的required.dll

    • ,有人修复了它,在部署选项中启用了“为每个页面和控制输出创建单独的程序集”


    谢谢您的回复。我们已经比较了参考文献,同一版本已经运行了1个月。这个问题最近才开始。您好。你解决这个问题了吗?我们刚刚在一个实时web服务器上经历了同样的事情。所有的东西都工作了几天,然后突然这个错误开始抛出。同样代码的部署也为我们修复了它,但我们正在尝试调查原因。非常感谢。