Приложение 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>
Поскольку вы уже используете ASP.Net V4, вероятно, нет необходимости применять разрешение, как предлагается в общей ссылке. Попробуйте удалить ссылку «Система» и добавить ее снова. – Yogi
Я удалил и снова добавил ссылку на Систему, но проблема не устранена. – Andrus
@Yogi Я обновил квест и добавил основное содержимое web.config. Может быть, это или Views \ web.config можно изменить, чтобы исправить это. – Andrus