asp.net-mvc – 如何修复错误名称空间’System’中不存在类型或命名空间名称’Linq’

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – 如何修复错误名称空间’System’中不存在类型或命名空间名称’Linq’前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
ASP.NET MVC4应用程序包含包含Razor帮助程序的App_Code文件夹中的Helper.chtml文件.
升级到Visual Studio Communitity版本后编译错误
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 {

错误指向使用System.Linq;线.

如何解决这个问题?
使用ASP.NET4

我尝试将System.Core的引用添加到项目中,但是已经引用了错误.
web.confing包含

<compilation debug="true">
</compilation>

我改成了

<compilation debug="true" targetFramework="4.0">
</compilation>

根据The type or namespace name ‘Linq’ does not exist in the namespace ‘System’https://social.msdn.microsoft.com/Forums/en-US/c970ea3d-5238-4ec7-8859-e16b40dccd3d/the-type-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命名空间.
原文链接:https://www.f2er.com/aspnet/248372.html

猜你在找的asp.Net相关文章