web-dev-qa-db-fra.com

Le type ou le nom de l'espace de noms 'System' est introuvable.

J'ai les erreurs suivantes (et plus) dans toutes mes vues (* .cshtml) lors de l'ouverture de mon projet dans Visual Studio 2015 Professional.

Erreur CS0246 Impossible de trouver le type ou le nom de l'espace de noms 'System' (il vous manque une directive using ou une référence Assembly?) Code de gravité Description Ligne de fichier de projet

Erreur CS0518 Le type prédéfini 'System.Object' n'est pas défini ou importé Code de gravité Description Ligne de fichier de projet

Erreur CS0518 Le type prédéfini 'System.String' n'est pas défini ou importé

J'ai eu ces références:

<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" />

J'ai trouvé des solutions en disant qu'un mscorlib n'était pas référencé .. mais quand j'ai essayé de l'ajouter, il a dit qu'il était déjà là (même si je ne le vois pas dans le fichier csproj).

Référence System.dll:

 enter image description here

 enter image description here

SOLUTION: 

Géré le problème .. Le chemin de génération était défini sur "c: ...\bin" au lieu de "\ bin". Je pense que cela est dû au fait que je n'ai pas de fichier web.config à la racine du projet. VS n'a donc pas identifié mon projet en tant que projet Web.

19
Hélder Gonçalves

J'ai tenté de recréer votre problème et je suis parvenu à une erreur similaire lorsque la solution a été créée dans Visual Studio 2013, puis à le construire en vs 2015. 

J'ai réussi à obtenir une construction réussie une fois que j'ai réinstallé NuGet Package Manager (et que j'ai fermé, puis rouvert VS 2015).

Références/Crédit

Il y a plusieurs SO questions relatives aux problèmes de construction via la version précédente de NPM for VS 2015 (c'est-à-dire que je ne fais que transmettre ce que j'ai essayé et travaillé). La résolution récurrente consiste généralement à mettre à jour/réinstaller NPM ou à modifier la stratégie d'exécution dans Power Shell. J'ai tendance à aimer l'approche mise à jour + redémarrage pour éviter de bricoler avec les boîtes noires dans les fenêtres. une source: https://stackoverflow.com/a/32251092/1158842 Il peut également y avoir un problème avec les solutions MSBuild Integrated, auquel cas la migration hors des ressources NuGet de la solution pourrait faire l'affaire. 

Source: https://stackoverflow.com/a/31811461/1158842

4
hubson bropa

J'ai eu le même problème plus tôt quand j'ai essayé de modifier un projet open source à partir d'Internet. 

Résolu en nettoyant simplement la solution et en la reconstruisant.

J'espère que cela t'aides.

30
Malek

La solution de nettoyage a fonctionné pour moi. 

Je vous conseillerais également de fermer et de relancer Visual Studio une fois que vous le feriez.

9
Mob RulesAll

Suivez ces étapes : 

  1. clic droit sur Solution> Restaurer les paquets NuGet
  2. clic droit sur Solution> Solution propre
  3. clic droit sur Solution> Build Solution
  4. Fermez Visual Studio et rouvrez-le.

C'est tout.

6
user1598814

Pour les personnes qui, comme moi, sont arrivées ici parce qu'elles essaient d'héberger aspnet.core mvc dans une application console:Sdk propriété de la balise Project sur la toute première ligne.

<Project Sdk="Microsoft.NET.Sdk.Razor">

0
L.Trabacchin

cliquez avec le bouton droit de la souris sur votre nom de projet, puis ouvrez les fenêtres de propriétés . rétrogradez votre version du framework cible, générez la solution puis mettez à niveau votre version du framework cible vers la dernière, la solution de génération.

0
jeremy