7

Приложение ASP.NET MVC4 содержит файл Helper.chtml в папке App_Code, содержащей помощники Razor. После обновления до визуального издания Студии Communitity компиляции ошибкаКак исправить ошибку Тип или имя пространства имен «Linq» не существует в пространстве имен «Система»

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> 

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.

Как исправить эту ошибку?

Update

Соответствующие части 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> 
+0

Поскольку вы уже используете ASP.Net V4, вероятно, нет необходимости применять разрешение, как предлагается в общей ссылке. Попробуйте удалить ссылку «Система» и добавить ее снова. – Yogi

+0

Я удалил и снова добавил ссылку на Систему, но проблема не устранена. – Andrus

+0

@Yogi Я обновил квест и добавил основное содержимое web.config. Может быть, это или Views \ web.config можно изменить, чтобы исправить это. – Andrus

ответ

0

Попробуйте добавить System.Linq имен в контроллере по умолчанию.

+0

Что такое контроллер по умолчанию? У приложения есть общий базовый класс для контроллеров, там он добавил? – Andrus

+0

Это тот, который контролирует ваше действие. Напр. по умолчанию Action Controller контролирует ваши действия входа и регистрации. –

+0

также, пожалуйста, проверьте этот пост и раздел комментариев, это может быть полезно. http://stackoverflow.com/a/22873162/5600402, похоже, что некоторые из ваших ссылок не обновлялись при обновлении VS. –

Смежные вопросы

 Смежные вопросы