Asp.net-Mvc
如何修復錯誤命名空間“System”中不存在類型或命名空間名稱“Linq”
ASP.NET MVC4 應用程序在包含 Razor 幫助程序的 App_Code 文件夾中包含 Helper.chtml 文件。升級到 Visual Studio 社區版後編譯錯誤
Error CS0234 The type or namespace name 'Linq' does not exist in the namespace 'System' (are you missing an assembly reference?) C:\Users\user\AppData\Local\Temp\Temporary ASP.NET Files\admin\e209c0e0\c74032ba\Sources_App_Code\helper.cshtml.72cecc2a.cs 16開始發生。生成的程式碼包含:
namespace ASP { using System; using System.Collections.Generic; using System.IO; using System.Linq; // Error occurs in this line using System.Net; using System.Web; using System.Web.Helpers; using System.Web.Security; using System.Web.UI; using System.Web.WebPages; using System.Web.WebPages.Html; #line 1 "C:\Web\Erp\App_Code\Helper.cshtml" using System.Web.Mvc; #line default #line hidden #line 2 "C:\Web\Erp\App_Code\Helper.cshtml" using System.Threading; #line default #line hidden #line 3 "C:\Web\Erp\App_Code\Helper.cshtml" using MyApp.Business; #line default #line hidden public class Helper : System.Web.WebPages.HelperPage {錯誤指向
using System.Linq;行。如何解決這個問題?使用 ASP.NET4
我試圖將 System.Core 的引用添加到項目中,但得到了它已被引用的錯誤。web.confing 包含
<compilation debug="true"> </compilation>我把它改成
<compilation debug="true" targetFramework="4.0"> </compilation>根據 命名空間“系統”和 https://social.msdn.microsoft.com/Forums/en-US/c970ea3d-5238-4ec7-8859-e16b40dccd3d/the-type中不存在類型或命名空間名稱“Linq” -or-namespace-name-linq-does-not-exist-in-the-namespace-systemare-you-missing-an?forum=linqprojectgeneral
但在那之後編譯錯誤更改為
Error CS0234 The type or namespace name 'global_asax' does not exist in the namespace 'ASP' (are you missing an assembly reference?)指向程式碼
protected static ASP.global_asax ApplicationInstance { get { return ((ASP.global_asax)(Context.ApplicationInstance)); } }在生成的 helper.cshtml.72cecc2a.cs 文件中。
如何解決此錯誤?
更新
web.config 的相關部分是:
<?xml version="1.0" encoding="utf-8"?> <configuration> <system.data> <DbProviderFactories> <clear /> <add name="Npgsql Data Provider" invariant="Npgsql" support="FF" description=".Net Framework Data Provider for Postgresql Server" type="Npgsql.NpgsqlFactory, Npgsql" /> </DbProviderFactories> </system.data> <system.web> <httpModules> <remove name="RoleManager" /> </httpModules> <compilation debug="true"> </compilation> <customErrors mode="Off" /> <globalization uiCulture="auto" culture="auto" enableClientBasedCulture="true" /> <pages> <namespaces> <add namespace="MYApp.Business" /> <add namespace="System.Web.Helpers" /> <add namespace="System.Web.Mvc" /> <add namespace="System.Web.Mvc.Ajax" /> <add namespace="System.Web.Mvc.Html" /> <add namespace="System.Web.Routing" /> <add namespace="System.Web.Optimization" /> <add namespace="System.Web.WebPages" /> </namespaces> </pages> </system.web> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2" /> </dependentAssembly> </assemblyBinding> </runtime> </configuration>
嘗試在預設控制器中添加 System.Linq 命名空間。