windows - Fejl i VS Code dotnet core C #: 'Type eller navneområde navn 'System' kunne ikke findes', men bygningen lykkes

Indlæg af Hanne Mølgaard Plasc

Problem



Når jeg forsøger at arbejde med Visual Studio Code på en C # DotNet Core MVC applikation, har jeg svært ved at få visuel studio kode til at fungere. Det har problemer med at finde noget relateret til C #, der markerer selv 'Brug af System;' som ugyldig og siger, at den ikke kan finde den.


Men når jeg kører dotnet build, lykkes det uden advarsler eller fejl, og projektet løber.


Mit projekt.json:


 {
  "version": "1.0.0-*",
  "buildOptions": {
    "debugType": "portable",
    "emitEntryPoint": true
  },
  "dependencies": {
    "Microsoft.NETCore.App": {
      "version": "1.1.0",
      "type": "platform"
    },
    "Microsoft.EntityFrameworkCore.Sqlite": "1.1.0",
    "Microsoft.EntityFrameworkCore.Design": {
      "version": "1.1.0",
      "type": "build"
    },
    "Microsoft.AspNetCore.Mvc": "1.1.0",
    "Microsoft.AspNetCore.Server.IISIntegration": "1.1.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.1.0",
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.1.0",
    "Microsoft.Extensions.Configuration.FileExtensions": "1.1.0",
    "Microsoft.Extensions.Configuration.Json": "1.1.0",
    "Microsoft.Extensions.Logging": "1.1.0",
    "Microsoft.Extensions.Logging.Console": "1.1.0",
    "Microsoft.Extensions.Logging.Debug": "1.1.0",
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.1.0",
    "Microsoft.AspNetCore.StaticFiles": "1.1.0"
  },

  "frameworks": {
    "netcoreapp1.1": {
      "dependencies": {
        "Microsoft.NETCore.App": {
          "type": "platform",
          "version": "1.1.0"
        }
      },
      "imports": "dnxcore50"
    }
  }
}


Nogle ideer? Jeg trækker virkelig mit hår ud med denne.

Bedste reference


Nogle gange bliver C # til Visual Studio Code (drevet af OmniSharp) forvirret.


Prøv at genstarte OmniSharp. Her er to måder:



  1. Luk og genåbn Visual Studio Code, eller

  2. Åbn kommandopaletten og skriv Restart Omnisharp.



OmniSharp har tendens til at blive forvirret, hvis vi gendanner afhængigheder fra kommandolinjen i stedet for fra Visual Studio Code.

Andre referencer 1


Ok, jeg har fundet ud af, hvad der forårsagede problemet. Jeg henviste til den forkerte import til rammen af ​​projektet.json-filen.


Dette:


"frameworks": {
    "netcoreapp1.1": {
      "dependencies": {
        "Microsoft.NETCore.App": {
          "type": "platform",
          "version": "1.1.0"
        }
      },
      "imports": "dnxcore50"
    }
  }


Skal være dette:


"frameworks": {
    "netcoreapp1.1": {
      "imports": [
        "dotnet5.6",
        "portable-net45+win8"
      ]
    }
  } 


Jeg er på en Windows 8-maskine, og af en eller anden grund er 'dnxcore50' ikke gyldig, men 'dotnet5.6' og 'portable-net45 + win8' er. Jeg vil holde kig på hvorfor for dette spørgsmål, men jeg sender dette svar nu, hvis nogen andre har at gøre med dette problem.