Visual Studio Community 2017中修改ASP.NET MVC项目中类名称空间的一点注意事项

在Visual Studio Community 2017中,更改ASP.NET MVC项目HomeController的名称空间后,虽然编译正常,但运行时会出现错误,提示index.cshtml引用了旧的名称空间。原因是Views文件夹下的web.config中<system.web.webPages.razor>节仍使用旧的名称空间。解决办法是更新web.config中的相关配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

笔者使用Visual Studio Community 2017创建一个ASP.NET MVC 5的项目,系统默认创建了一个HomeController类,此时编译运行正常。在修改HomeController类的名称空间名字后,将自动修改全项目的类的名称空间名,编译正常,但运行报错,错误指出index.cshtml使用了不存在的名称空间名(即修改前的名称空间名),见下图:


使用原名称空间名sfsjAnalyzerOnline在全项目的文件中查找发现,在Views文件夹下的web.config(这个是ASP.NET MVC 5新增加的)中有一个项使用了原名称空间名,而不是新的名称空间名sfsj。见如下示例:

<?xml version="1.0"?>

<configuration>
  <system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="System.Web.Mvc.WebViewPage">
      <namespaces>
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Optimization"/>
        <add namespace="System.Web.Routing" />
        <add namespace="sfsjAnalyzerOnline" />
      </namespaces>
    </pages>
  </system.web.webPages.razor>
</configuration>

修改里头的<add namespace=“sfsjAnalyzerOnline" />为新的名称空间名如:<add namespace="sfsj" />即运行正常。

事实上,去掉上述配置文件中的<system.web.webPages.razor>节,网站系统运行正常。
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值