web-dev-qa-db-fra.com

Erreur CS0234: le type ou le nom de l'espace de noms 'AspNetCore' n'existe pas dans l'espace de noms 'Microsoft' (il manque une référence d'assembly?)

J'essaie de mettre à niveau le projet de modèle suivant vers ASP.NET Core 1.1: https://github.com/wilanbigay/aspnet-core-aurelia-TypeScript-starter

Après avoir exécuté dotnet migrate, le fichier project.json a été supprimé au profit du nouveau fichier csproj.

Utilisation de Visual Studio Code et de l'extension Nuget4Code, j'ai mis à niveau tous les composants vers ASP.NET Core 1.1.

CsProj contient maintenant des entrées comme ceci:

<ItemGroup>
    <PackageReference Include="Microsoft.NET.Sdk">
      <Version>1.0.0-alpha-20161104-2</Version>
      <PrivateAssets>All</PrivateAssets>
    </PackageReference>
    <PackageReference Include="Microsoft.NET.Sdk.Web">
      <Version>1.0.0-alpha-20161104-2</Version>
      <PrivateAssets>All</PrivateAssets>
    </PackageReference>
    <PackageReference Include="Microsoft.NETCore.App">
      <Version>1.1.0</Version>
    </PackageReference>
    <PackageReference Include="Microsoft.AspNetCore.Mvc">
      <Version>1.1.0</Version>
    </PackageReference>

Cependant, j'ai des problèmes de compilation. Il semble que l'espace de noms AspNetCore ne puisse pas être trouvé. Je reçois l'erreur

Erreur CS0234: Le type ou le nom de l'espace de noms 'AspNetCore' n'existe pas dans les noms "Microsoft" (il manque une référence d'assembly?) 

Je ne suis pas sûr de savoir comment vérifier les références comme je le pouvais auparavant dans Visual Studio dans la section Références . Comment puis-je résoudre ce problème?

14
Chris Nevill

Je suppose donc que je faisais référence aux dépendances mais je ne les avais pas installées pour le projet.

Tout ce que je devais faire était d’exécuter Dotnet restore

https://docs.Microsoft.com/en-us/dotnet/articles/core/tools/dotnet-restore

Comme indiqué dans le lien ci-dessus, ceci "Restaure les dépendances et les outils d'un projet."

12
Chris Nevill

Nous venons d'avoir ce problème où visual studio a utilement ajouté une référence locale plutôt que de passer par nuget

<ItemGroup>
  <Reference Include="Microsoft.AspNetCore.Mvc.Core">
    <HintPath>C:\Program Files\dotnet\sdk\NuGetFallbackFolder\Microsoft.aspnetcore.mvc.core\2.0.0\lib\netstandard2.0\Microsoft.AspNetCore.Mvc.Core.dll</HintPath>
  </Reference>
</ItemGroup>

Le fait de supprimer cela et de référencer via nuget a résolu le problème. Cela ressemble à un problème dans Visual Studio 2017.

8
Dave Glassborow

Mon problème était qu'un projet dans la solution ne construisait pas correctement, il ne pouvait donc pas être référencé par d'autres projets dans la solution.

La solution consistait à mettre à jour Visual Studio (j'ai mis à jour de la version 15.5.6 à la version 15.9.1). Voici un lien vers la page Téléchargements VS de Microsoft .

1
Eric