Visual Studio Community 2017中修改ASP.NET MVC專案中類名稱空間的一點注意事項
阿新 • • 發佈:2019-02-17
筆者使用Visual Studio Community 2017建立一個ASP.NET MVC 5的專案,系統預設建立了一個HomeController類,此時編譯執行正常。在修改HomeController類的名稱空間名字後,將自動修改全專案的類的名稱空間名,編譯正常,但執行報錯,錯誤指出index.cshtml使用了不存在的名稱空間名(即修改前的名稱空間名),見下圖:
使用原名稱空間名sfsjAnalyzerOnline在全專案的檔案中查詢發現,在Views資料夾下的web.config(這個是ASP.NET MVC 5新增加的)中有一個項使用了原名稱空間名,而不是新的名稱空間名sfsj。見如下示例:
修改裡頭的<add namespace=“sfsjAnalyzerOnline" />為新的名稱空間名如:<add namespace="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>
事實上,去掉上述配置檔案中的<system.web.webPages.razor>節,網站系統執行正常。