ASP.NET最误导人的错误提示:“未预编译文件,因此不能请求该文件”
昨天在一个ASP.NET MVC项目中,一个预编译后的视图访问时总是报错:
未预编译文件,因此不能请求该文件(The file has not been pre-compiled, and cannot be requested)
而对应这个预编译视图的3个地方都正常:
1)内容为“这是预编译工具生成的标记文件,不应删除!”的.cshtml占位文件正常存在
2)对应的*.cshtml.7384d3d7.compiled文件正常
3)对应的App_Web_*.cshtml.7384d3d7.dll文件正常
百思不得其解,折腾了半天。
后来实在没办法,放弃预编译,改用动态编译。然后出现下面的错误信息才让人恍然大悟:
System.IO.FileLoadException:
未能加载文件或程序集“System.Web.Mvc, Version=5.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。
找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)
这个项目用的是MVC 5.2.2,而出问题的视图中调用了一个依赖MVC 5.1的程序集。
有了这个准确的错误信息,问题很轻松地就可以解决:在web.config中添加如下的配置:
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.2.0" newVersion="5.2.2.0" />
</dependentAssembly>
如果不是放弃预编译,改用动态编译,做梦也想不到是这个原因引起的“未预编译文件,因此不能请求该文件”。
你说这是不是ASP.NET中最误导人的错误提示?
ASP.NET最误导人的错误提示:“未预编译文件,因此不能请求该文件”的更多相关文章
- twincat3新建cpp提示"在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "stdafx.h"
自己之前在windows下面写过一些c++的函数,想在倍福工控机上直接使用,发现添加了.cpp和.h文件后无法完成编译,会提示 在查找预编译头时遇到意外的文件结尾.是否忘记了向源中添加“#includ ...
- asp.net mvc 本地化 默认的错误提示
System.ComponentModel.DataAnnotations 给我们提供了一些特性来直接对model的属性进行验证和约束, 同时也提供了 ErrorMessageResourceName ...
- Visual Studio 2013 错误提示“未找到与约束匹配”的修正
昨天由于项目需要,在开发电脑上安装了Microsoft Office Project 2007来做时间计划,但是安装之后第二天重新打开VS之后,就无法打开项目或者原有程序文件无法打开.错图提示界面如下 ...
- 错误描述:fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "stdafx.h"”?(转)
错误分析: 此错误发生的原因是编译器在寻找预编译指示头文件(默认#include "stdafx.h")时,文件未预期结束.没有找到预编译指示信息的头文件"stdafx. ...
- 彻底解决Asp.netCore WebApi 3.1 跨域时的预检查204 options重复请求的问题
Asp.netCore WebApi 3.1 跨域的预检查options问题 1:我们直接使用core跨域的中间件 ,注入跨域服务, services.AddCors(options => { ...
- 在ASP.NET 中调用RSACryptoServiceProvider失败,提示未找到文件
在本地开发环境调试下,调试这个RSA加密是没问题的,但是部署到IIS就会报错. 原来是,在本地vs调试与IIS上运行是存在权限差异的.本地调试权限最大,IIS 次之. 所以在我们声明CspParame ...
- php 错误提示开启
开发环境项目,通常需要错误提示:php.ini文件,设置 display_errors = On 项目上线以后,当然不想把错误提示显示. 一般不直接修改php.ini文件,下面两行代码直接加入报错ph ...
- ASP.NET 预编译命令(解决发布后第一次访问慢问题)
ASP.NET 编译工具 (Aspnet_compiler.exe) 官方说明 新建bat文件 @echo off CD /d C:\Windows\Microsoft.NET\Framewo ...
- 关于ASP.NET预编译(转自dudu)
为什么要用预编译? 博客园博客程序中.aspx和.ascx文件总共加起来有3000多个(博客模板中有大量的.ascx文件).如果使用动态编译,每次只要更新bin文件夹中的任何一个dll文件,动态编译至 ...
随机推荐
- JavaScript 常用算法
1.排序算法 (1)冒泡排序,冒泡排序其实就是通过比较相邻位置的元素大小,如果左边比右边大,就交换位置,继续比较,实际上就是每轮比较都得出一个最大值,然后通过多伦比较得出. function bubb ...
- Python 之WEB前端插件
1.Font Awesome ---- 设计字体,图标 2.EasyUI ---- 各种功能 3.JqueryUI ---- 类似EasyUI 4.bootstrap ---- 必须引入JQuery( ...
- [主页]大牛系列01:Microsoft Research的Johannes Kopf
时间:2015.11.21 版本:初稿 -------------------------------------------------------------------------------- ...
- 一段防盗连的PHP代码
$ADMIN[defaulturl] = http://www.163.com/404.htm; //盗链返回的地址 $okaysites = array("http://www.163 ...
- ORA-01720: grant option does not exist for 'xxx.xxxx' (ORA-01720 ‘XXX’ 不存在授权选项)
原因:用户A将表tab的SELECT权限授予了用户B,而用户B将视图v_tab的查询权限授予C时,也试图将表tab授予用户C,但用户B并没有这个权限(将表tab授予用户C),而引起的 用户B没有授权选 ...
- 手把手教你用axis1.4搭建webservice(转)
1.先下载axis jar包:axis-bin-1_4.zip.下载地址: http://ws.Apache.org/axis/. 当然这个包其实是不全面的,像activation.jar之类的,完全 ...
- Springmvc4 com/fasterxml/jackson/core/JsonProcessingException
非常感谢: 谭卓博客 springmvc4 json springmvc4 集成hibernate4 出现 NoClassDefFoundError:com/fasterxml/jackson/cor ...
- [转]Linux vi 编辑后如何保存
比如:vi /etc/vsftpd/vsftpd.conf 按ESC键 跳到命令模式,然后: :w 保存文件但不退出vi :w file 将修改另外保存到file中,不退出vi :w! 强制保存,不推 ...
- centos搭建NFS网络文件系统
NFS服务器端 安装NFS服务器非常之简单: yum install nfs-utils protmap 这样就安装好了,其中nfs-utils是提供NFS服务器程序和相应的管理工具.protmap是 ...
- ZT 第一范式,第二范式,第三范式
第一范式,第二范式,第三范式 Posted on 2012-05-09 16:30 GISerYang 阅读(6472) 评论(0) 编辑 收藏 第一范式 存在非主属性对码的部分依赖关系 R(A,B, ...