使用VS2012新建了一个Asp.net mvc5的项目,并把项目的命名空间名称更改了(Src更改为UXXXXX),然后就导致了以下错误

刚开始以后是项目的属性中的命名空间没有更改过来的问题,但我在重命名时更改的是全局的名称,而且所有文件的命名空间都已经更改过来了
 

 
稍候思考了一下并在解决方案里搜索了"Src"除了页面中引用的js脚本外还发现Views/web.config文件中包含"Src"
 
 
 
Asp.net MVC自动生成的代码如下,可以看到自动生成的代码将Views/web.config里引入的命名空间合并到了View页面代码中
 
个人猜想这样做的原因是在views/web.config里设置的命名空间,就可以在View模板中直接使用配置文件中设置的命名空间下的类型
 

 
做了个试验(确保Views/web.config里没有引用System.Text命名空间):
将View中的的内容全部清空(包含_ViewStart.html和_Layout.cshtml等)
将views/Login.schtml内容清空并写入以下内容,然后重新生成并在浏览器里查看,就会出现以下错误(原因是StringBuilder没有引用命名空间System.Text)
 

解决办法有两种

  1. 在Views/web.config中导入System.Text(你需要的命名空间)
  2. 在视图模板中使用完整的类型名(System.Text. StringBuilder)来使用StringBuilder
@{
DateTime d= DateTime.Now;
//必须在Views/web.config 配置文件中设置引用System.Text命名空间否则将报错
// <system.web.webPages.razor>
// <pages pageBaseType="System.Web.Mvc.WebViewPage">
// <namespaces>
// <!--在全局视图模板中引用命名空间,在模板就可以直接使用该空间下的类型-->
// <add namespace="System.Text" />
// </namespaces>
// </pages>
// </system.web.webPages.razor>
//在配置文件中引用命名空间后,视图模板中没有自动完成功能, VS在编译时也不会检查该类型是否存在
//如果类型不存在或输入错误,只有在运行时才会报错,
StringBuilder sb = new StringBuilder(); //在视图模板中直接使用完整的类型,不需要在配置文件中设置
//VS虽然有自动完成功能,但同样在编译时也不会对类型时行检查
//同样只有在运行时才会报错
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append("1,");
sb.Append("2,"); }
@d<br />
@sb.ToString()
 
意想不到的运行时错误(不应该是编译不通过吗?)
 

ASP.NET MVC 重命名[命名空间]而导致的错误及发现的ASP.NET MVC Bug一枚的更多相关文章

  1. Win10重命名文件夹导致资源管理器卡顿的解决办法

    我本机使用的是 Win10 1607,不清楚是因为什么原因导致重命名文件夹时资源管理器会被卡死,找了很长时间终于找到了解决办法,现在我把步骤粘出来以便后续遇到相同问题的朋友能及时解决. 其实操作很简单 ...

  2. 存在网路的情况下重命名SDE中数据图层错误(The orphan junction feature class cannot be renamed)

    运行环境为ArcGIS9.3,VS2008. 问题描述:数据通过SDE存储在Oracle10g数据库中,数据集中存在几何网络,在存在网络的情况下通过程序对其中的数据图层进行重命名,弹出"Th ...

  3. 重命名计算机名称导致TFS版本管理下的工作区问题的修复

    1.问题 若在本地已有工作区之后,此时修改计算机名称重启生效后,打开本地的项目解决方案,输出窗口会提示如下图: 2.解决 输入命令:tf workspaces /collection:http://1 ...

  4. SVN重命名后,不允许提交

    在vs中对文件名重命名后,导致不能提交 解决: 在源码根目录下提交源码,提交完毕后,再使用如下菜单对需要命名的单个文件进行重命名,重命名完毕后,在源码根目录下提交源码即可

  5. How to: Handle Renamings and Deletions of Business Classes and their Properties 如何:处理业务类及其属性的重命名和删除

    When developing an XAF application, you may be required to rename a persistent class or property due ...

  6. Asp.Net MVC 文件管理Demo(文件展示,上传,下载,压缩,文件重命名等)

    之前 ,有想做一个文件管理页面. 参考了 许多资料,终于完成了一个基于Asp.net MVC 的文件管理Demo.界面如下.   一,实现功能及相关技术 文件管理Demo基于Asp.NET MVC , ...

  7. ASP FSO操作文件(复制文件、重命名文件、删除文件、替换字符串)

    ASP FSO操作文件(复制文件.重命名文件.删除文件.替换字符串)FSO的意思是FileSystemObject,即文件系统对象.FSO对象模型包含在Scripting 类型库 (Scrrun.Dl ...

  8. ASP.NET中的文件操作(文件信息,新建,移动,复制,重命名,上传,遍历)(亲测详细)

    做了几天的文件操作,现在来总结一下,错误之处,还望指点!以文件为例,如果对文件夹操作,基本上将File换为Directory即可(例:FileInfo file = new FileInfo(Path ...

  9. asp.net 文件批量移动重命名

    最近闲时写了个批量移动重命名文件的工具 点击下载工具

随机推荐

  1. FCKeditor如何升级CKEditor及使用方法

    之前编辑器用的是FCKeditor,因为项目原因需要升级为最新版本4.2.2,发现是已经更名为CKEditor. 百度了一下,据官方的解释,CK是对FCK的代码的完全重写. 项目环境是asp.net的 ...

  2. asp.net MVC 中 Session统一验证的方法

    验证登录状态的方法有:1  进程外Session   2 方法过滤器(建一个类继承ActionFilterAttribute)然后给需要验证的方法或控制器加特性标签 3 :新建一个BaseContro ...

  3. ArcEngine设置有牵引线的标注

    来自:https://blog.csdn.net/u011609113/article/details/51372827/ 在ArcGIs中很容易就能设置带有牵引线的标注.   在ArcEngine中 ...

  4. Redis客户端集群

        1.Redis集群一般分为两类,即3.0版本后的服务端集群实现,3.0版本前的客户端集群实现,服务端集群即Redis Cluster(官方实现),采用slot槽的概念(分片,所有服务端redi ...

  5. 【nginx】配置Nginx实现负载均衡

    一文中已经提到,企业在解决高并发问题时,一般有两个方向的处理策略,软件.硬件,硬件上添加负载均衡器分发大量请求,软件上可在高并发瓶颈处:数据库+web服务器两处添加解决方案,其中web服务器前面一层最 ...

  6. 走进DOM:HTML DOM

    DOM(Document Object Model)即文档对象模型.针对HTML和XML 文档的API(应用程序接口). DOM描绘了一个层次化的节点树,执行开发者加入.移除和改动页面的某一部分.当然 ...

  7. git 两个中心仓库上的分支 merge

    首先在一个中心仓库里面添加另外一个仓库的所有分支. 命令: git remote add Cangku2 https://github.com/abc/abc.git git fetch 这之后在使用 ...

  8. Tomcat中session的管理机制

    1.       请求过程中的session操作: 简述:在请求过程中首先要解析请求中的sessionId信息,然后将sessionId存储到request的参数列表中.然后再从 request获取s ...

  9. 设置TOMCAT SESSIONID 字符长度和生成算法

    修改TOMCAT 默认的生成SESSION ID的算法和字符长度非常简单,只需修改context.xml中的<Manager>标签值,比如: <Manager sessionIdLe ...

  10. Spring Boot中使用JavaMailSender发送邮件

    相信使用过Spring的众多开发者都知道Spring提供了非常好用的JavaMailSender接口实现邮件发送.在Spring Boot的Starter模块中也为此提供了自动化配置.下面通过实例看看 ...