web-dev-qa-db-ger.com

Wie kompiliere ich c # im neuen Visual Studio Code von Microsoft?

Ich habe die Vorschau-Version von Microsofts neuem Code-Editor "Visual Studio Code " installiert. Es scheint ganz nett zu sein! In der Einführung wird erwähnt, dass Sie c # damit programmieren können, das Setup-Dokument erwähnt jedoch nicht, wie Sie C # -Dateien tatsächlich kompilieren. Sie können "Mono" als einen Typ in der Datei "launch.json" definieren, dies tut jedoch noch nichts. Wenn Sie F5 drücken, wird Folgendes angezeigt: "Stellen Sie sicher, dass Sie eine Konfiguration aus der Dropdown-Liste auswählen" ... Außerdem funktioniert Intellisense nicht für c #? Wie legen Sie den Pfad für eingeschlossene Frameworks fest?

Launch.json:

"configurations": [
        {
            // Name of configuration; appears in the launch configuration drop down menu.
            "name": "Cars.exe",
            // Type of configuration. Possible values: "node", "mono".
            "type": "mono",
            // Workspace relative or absolute path to the program.
            "program": "cars.exe",
        }, 
        {
            "type": "mono",
        }
36
Kokodoko

Intellisense funktioniert für C # 6 und ist großartig.

Zum Ausführen von Konsolen-Apps sollten Sie einige zusätzliche Tools einrichten:

  • ASP.NET 5; in Powershell: &{$Branch='dev';iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.ps1'))}
  • Node.js einschließlich Paketmanager npm.
  • Die restlichen erforderlichen Werkzeuge einschließlich Yeoman yo: npm install -g yo grunt-cli generator-aspnet bower
  • Sie sollten auch .NET Version Manager aufrufen: c:\Users\Username\.dnx\bin\dnvm.cmd upgrade -u

Dann können Sie yo als Assistenten für die Konsolenanwendung verwenden: yo aspnet Wählen Sie Name und Projekttyp aus. Danach gehen Sie zum erstellten Ordner cd ./MyNewConsoleApp/ und führen Sie dnu restore aus.

Um Ihr Programm auszuführen, tippen Sie einfach >run in die Command Palette (Ctrl+Shift+P) oder führen Sie dnx . run in Shell aus dem Verzeichnis Ihres Projekts aus.

14
Qbit

Da es sonst niemand gesagt hat, lautet die Abkürzung zum Kompilieren (Erstellen) einer C # -App in Visual Studio Code (VSCode) SHIFT+CTRL+B

Wenn Sie die Build-Fehler anzeigen möchten (weil sie standardmäßig nicht eingeblendet werden), lautet die Verknüpfung SHIFT+CTRL+M.

(Ich weiß, dass diese Frage nicht nur nach der Build-Verknüpfung gefragt war. Ich wollte jedoch die Frage im Titel beantworten, die von anderen Antworten/Kommentaren nicht direkt beantwortet wurde.)

25
Brandon S

Installieren Sie die Erweiterung "Code Runner". Prüfen Sie, ob Sie Ihr Programm mit csc (zB: csc hello.cs) kompilieren können. Der Befehl csc wird mit Mono ausgeliefert. Fügen Sie dann das zu Ihren VS Code-Benutzereinstellungen hinzu:

"code-runner.executorMap": {
        "csharp": "echo '# calling mono\n' && cd $dir && csc /nologo $fileName && mono $dir$fileNameWithoutExt.exe",
        // "csharp": "echo '# calling dotnet run\n' && dotnet run"
    }

Öffnen Sie Ihre C # -Datei und verwenden Sie den Ausführungsschlüssel von Code Runner.

Edit: fügte außerdem dotnet run hinzu, sodass Sie auswählen können, wie Sie Ihr Programm ausführen möchten: mit Mono oder mit Dotnet. Wenn Sie dotnet wählen, erstellen Sie zuerst das Projekt (dotnet new console, dotnet restore).

2
Jabba

SHIFT+CTRL+B sollte funktionieren

Manchmal kann jedoch ein Problem in einer gesperrten Umgebung ohne Administratorrechte auftreten:

Wenn Sie eine vorhandene C # -Anwendung aus dem Ordner öffnen, sollten Sie eine .sln (Lösungsdatei) usw. haben.

Normalerweise können Sie diese Nachricht in VS Code erhalten

Downloading package 'OmniSharp (.NET 4.6 / x64)' (19343 KB) .................... Done!
Downloading package '.NET Core Debugger (Windows / x64)' (39827 KB) .................... Done!

Installing package 'OmniSharp (.NET 4.6 / x64)'
Installing package '.NET Core Debugger (Windows / x64)'

Finished
Failed to spawn 'dotnet --info'  //this is a possible issue

Zu welchem ​​Zeitpunkt werden Sie aufgefordert, .NET CLI tools zu installieren

Wenn das SDK nicht ohne Administratorrechte installiert werden kann, verwenden Sie eine andere Lösung.

0
Tom Stickel