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

笔者使用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>节,网站系统运行正常。
    

猜你喜欢

转载自blog.csdn.net/hulihui/article/details/74277740