L'applicazione ASP.NET MVC4 contiene il file Helper.chtml nella cartella App_Code che contiene helper Razor. Dopo l'aggiornamento a Visual Studio edizione Communitity errore di compilazioneCome correggere l'errore Il nome di tipo o spazio dei nomi 'Linq' non esiste nello spazio dei nomi 'Sistema'
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
inizia a verificarsi. codice generato contiene:
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 {
punti di errore per using System.Linq;
linea.
Come risolvere il problema? Utilizzo di ASP.NET4
Ho cercato di aggiungere un riferimento a System.Core per il progetto ma ho rilevato che è già referenziato. web.confing contiene
<compilation debug="true">
</compilation>
ho cambiato
<compilation debug="true" targetFramework="4.0">
</compilation>
secondo The type or namespace name 'Linq' does not exist in the namespace 'System' e 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
ma dopo che compila modifiche errori a
Error CS0234 The type or namespace name 'global_asax' does not exist in the namespace 'ASP' (are you missing an assembly reference?)
che indica il codice
protected static ASP.global_asax ApplicationInstance {
get {
return ((ASP.global_asax)(Context.ApplicationInstance));
}
}
nel file helper.cshtml.72cecc2a.cs generato.
Come risolvere questo errore?
Aggiornamento
parti rilevanti del web.config sono:
<?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>
Poiché si sta già utilizzando ASP.Net V4, probabilmente non è necessario applicare la risoluzione come suggerito nel collegamento condiviso. Prova a eliminare il riferimento di 'Sistema' e aggiungilo di nuovo. – Yogi
Ho eliminato e aggiunto nuovamente il riferimento al sistema ma il problema persiste. – Andrus
@Yogi Ho aggiornato queston e aggiunto il contenuto principale di web.config. Forse questo o Views \ web.config può essere modificato per risolvere questo problema – Andrus