2015-10-21 21 views
15

Ho i seguenti errori (e altro) in tutte le mie viste (* .cshtml) quando apro il mio progetto in Visual Studio 2015 Professional.Impossibile trovare il nome dello spazio dei nomi 'Sistema'

CS0246

Errore Il nome tipo o dello spazio dei nomi 'sistema' non è stato trovato (che le manca un un riferimento all'assembly? Direttiva using o) codice di gravità Linea Descrizione file di progetto

CS0518 Errore tipo predefinito 'Sistema .Object' non è definito o importato codice di gravità linea Descrizione file di progetto

errore CS0518 tipo predefinito 'System.String' non è definito o importato

Ho questi riferimenti:

<ItemGroup> 
<Reference Include="Microsoft.CSharp" /> 
<Reference Include="Sitecore.Kernel, Version=7.0.0.0, Culture=neutral, processorArchitecture=MSIL"> 
    <SpecificVersion>False</SpecificVersion> 
    <HintPath>N:\XXX\Sitecore.Kernel.dll</HintPath> 
</Reference> 
<Reference Include="Sitecore.Mvc"> 
    <HintPath>N:\XXX\Sitecore.Mvc.dll</HintPath> 
</Reference> 
<Reference Include="System.Web.DynamicData" /> 
<Reference Include="System.Web.Entity" /> 
<Reference Include="System.Web.ApplicationServices" /> 
<Reference Include="System.ComponentModel.DataAnnotations" /> 
<Reference Include="System" /> 
<Reference Include="System.Data" /> 
<Reference Include="System.Core" /> 
<Reference Include="System.Data.DataSetExtensions" /> 
<Reference Include="System.Web.Extensions" /> 
<Reference Include="System.Web.Helpers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> 
    <SpecificVersion>False</SpecificVersion> 
    <HintPath>N:\XXX\System.Web.Helpers.dll</HintPath> 
</Reference> 
<Reference Include="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> 
    <SpecificVersion>False</SpecificVersion> 
    <HintPath>N:\XXX\System.Web.Mvc.dll</HintPath> 
</Reference> 
<Reference Include="System.Web.Providers"> 
    <HintPath>N:\XXX\System.Web.Providers.dll</HintPath> 
</Reference> 
<Reference Include="System.Web.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> 
    <SpecificVersion>False</SpecificVersion> 
    <HintPath>N:\XXX\System.Web.Razor.dll</HintPath> 
</Reference> 
<Reference Include="System.Web.WebPages, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> 
    <SpecificVersion>False</SpecificVersion> 
    <HintPath>N:\XXX\System.Web.WebPages.dll</HintPath> 
</Reference> 
<Reference Include="System.Web.WebPages.Deployment, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> 
    <SpecificVersion>False</SpecificVersion> 
    <HintPath>N:\XXX\System.Web.WebPages.Deployment.dll</HintPath> 
</Reference> 
<Reference Include="System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> 
    <SpecificVersion>False</SpecificVersion> 
    <HintPath>N:\XXX\System.Web.WebPages.Razor.dll</HintPath> 
</Reference> 
<Reference Include="System.Xml.Linq" /> 
<Reference Include="System.Drawing" /> 
<Reference Include="System.Web" /> 
<Reference Include="System.Xml" /> 
<Reference Include="System.Configuration" /> 
<Reference Include="System.Web.Services" /> 
<Reference Include="System.EnterpriseServices" /> 

ho trovato alcune soluzioni che dicono che un mscorlib non è stato fatto riferimento .. ma quando ho provato ad aggiungerlo si sayd che è già lì (anche se io don vederlo sul file csproj).

System.dll di riferimento:

enter image description here

enter image description here

SOLUZIONE:

gestito la questione .. Ho avuto il percorso di generazione impostato ad un "c: ... \ bin "invece di" \ bin ". Credo che questo sia successo perché non ho alcun web.config nella radice del progetto, quindi VS non ha identificato il mio progetto come un progetto web.

+0

non ha funzionato .... –

+0

niente di strano lì. hai una clausola che usa per le tue opinioni? se no potresti non doverlo fare, scommetto che puoi aggiungerlo implicitamente tramite le viste web.config ... vedi questa domanda http://stackoverflow.com/questions/12547641/how-do-i-avoid-adding-using -in-my-cshtml-tag –

+0

il problema non è solo con le clausole using .. è anche quando provo a fare @Html, per favore vedi la domanda aggiornata –

risposta

2

Ho tentato di ricreare il problema e mi sono imbattuto in un errore simile quando la soluzione è stata creata in Visual Studio 2013 e poi ho provato a svilupparla nel 2015. Sono riuscito a ottenere una build di successo dopo aver reinstallato NuGet Package Manager (e chiuso-> riaperto VS 2015).

Referenze/Crediti. Ci sono diverse domande su SO relative ai problemi di compilazione tramite la versione precedente di NPM per VS 2015 (ovvero sto passando solo quello che ho provato e ho elaborato). La risoluzione ricorrente di solito è l'aggiornamento/reinstallazione di NPM o la modifica del criterio di esecuzione in Power Shell. Tendo ad apprezzare l'aggiornamento + riavviare l'approccio per evitare di armeggiare con le scatole nere in Windows. una fonte: https://stackoverflow.com/a/32251092/1158842 Potrebbe anche esserci un problema con le soluzioni integrate MSBuild, nel qual caso la migrazione dalle risorse di nuget nella soluzione potrebbe fare il trucco. da: https://stackoverflow.com/a/31811461/1158842

19

Ho avuto lo stesso problema in precedenza quando ho provato a modificare un progetto open source da internet.

Risolto solo con la pulizia della soluzione e la ricostruzione.

Spero che questo aiuti.

+0

Questo ha funzionato per una delle mie soluzioni che ha avuto questo problema; ma un altro ha richiesto che il VS venisse rilanciato dopo la pulizia. – monty

+0

Hahaha quando hai passato mezz'ora a provare a installare lo standard .NET mentre sembra che tu abbia già tutto. Grazie – CularBytes

1

le seguenti operazioni:

  1. tasto destro del mouse su Soluzione> Ripristina pacchetti Nuget
  2. tasto destro del mouse su Soluzione> Pulisci soluzione
  3. tasto destro del mouse su Soluzione> Genera soluzione
  4. Chiudere Visual Studio e ri -Aperto.

Questo è tutto.

5

Soluzione di pulizia ha funzionato per me.

Vorrei anche consigliare di chiudere e riavviare Visual Studio una volta così.

+0

soluzione pulita, riavviare Visual Studio e costruire soluzione ... questo ha funzionato, Grazie – WASIF

+0

È necessario lasciare aperte le finestre XAML e CS quando si chiude VS. – pollaris

-1

Se la pulizia della soluzione non ha funzionato e per chiunque veda questa domanda e provato a spostare un progetto o rinominarlo.

Aprire la console Gestione pacchetti e digitare "ripristino dotnet".