2010-08-06 12 views
23

Ich bin nach diesem Tutorial:compilieren C# -Code von der Kommandozeile gibt Fehler

http://www.csharp-station.com/Tutorials/Lesson01.aspx

ich diese in eine Textdatei eingefügt, nannte es Welcome.cs ging in die Eingabeaufforderung und zeigte auf das Verzeichnis der Datei. Ich tippte csc.exe Welcome.cs und bekam diese Fehlermeldung:

csc.exe is not recognized as internal or external command 

ich Visual Studio 2008

bin mit habe ich versucht csc.exe in das Windows-Verzeichnis verschoben, und jetzt habe ich diese Störung erhalte:

fatal error cs2018: unable to find messages file 'cscompui.dll' 

Wie kann ich meinen C# -Code von der Befehlszeile aus kompilieren?

+5

FYI bekommen ... Sie sollten nicht csc bewegen .exe in den Windows-Ordner. Es hat zu viele Abhängigkeiten, die es nicht finden kann. – David

Antwort

32

csc.exe ist nicht in Ihrem Weg. Versuchen Sie voll qualifiziert es:

C:\WINDOWS\Microsoft.NET\Framework\v3.5\csc.exe 

(ersetzen 3.5 mit dem, was Rahmen Sie verwenden, natürlich.)

Beachten Sie, dass Visual Studio wird hier nicht verwendet werden. Es spielt keine Rolle, welche Version von Ihnen verwendet wird, da Sie sie nicht verwenden, wenn Sie über die Befehlszeile kompilieren. Der Befehlszeilencompiler ist Teil des Frameworks selbst.

+11

oder verwenden Sie die Visual Studio-Eingabeaufforderung Element aus dem Startmenü in Microsoft VS 2010 \ VS Tools – Gishu

+2

@ Gishu: Das ist ein anderer Weg, sicher. Darauf gibt es mehrere Antworten. Es ist wahrscheinlich gut für ihn zu wissen, wo diese ausführbare Datei ist. Vor allem, wenn er jemals versucht, etwas in einer Batch-Datei zu kompilieren. Oder wenn er auf einem Computer kompilieren möchte, auf dem Visual Studio nicht installiert ist. – David

+9

Zusätzlich können Sie diesen Ordner über die Befehlszeile zu Ihrem Pfad hinzufügen: 'pfad =% pfad%; C: \ WINDOWS \ Microsoft.NET \ Framework \ v3.5', aber nur für die sitzungsdauer. Um es dauerhaft zum Pfad hinzuzufügen, ändern Sie Ihre Umgebungsvariablen (im Systemsteuerungsfenster). Aber das alles könnte mehr Infos sein, als Sie wollten.:) – JYelton

5

Dies ist höchstwahrscheinlich, weil das Verzeichnis mit csc.exe nicht in Ihrem Pfad ist, vorausgesetzt, Sie führen einfach die Standard-Windows-Eingabeaufforderung.

Visual Studio 2008 (wie alle Versionen) kommt mit einer eigenen Eingabeaufforderung. Dies ist im Wesentlichen cmd.exe mit einigen Setup-Skripten, die alle Visual Studio-Tools zugänglich machen (setzt die relevanten Verzeichnisse für den Start in Ihren Pfad).

Die Konsole ist über das Startmenü leicht zugänglich und soll Visual Studio 2008 Command Prompt (unter den Visual Studio Tools Ordner) aufgerufen werden.

7

Sie führen wahrscheinlich cmd (Windows-Eingabeaufforderung) anstelle von Visual Studio Command Prompt aus, die im Visual Studio-Tools-Ordner verfügbar ist.

Blick auf Ordner:

C: \ Programdata \ Microsoft \ Windows \ Startmenü \ Programme \ Microsoft Visual Studio 2008 \ Visual Studio Tools

0

Einige Optionen: 1) verwenden, um das „Visual Studio 2008 Eingabeaufforderung "das ist in Ihrem Ordner Visual Studio Tools. Dies lädt die Eingabeaufforderung mit dem richtigen Pfad, so dass es den Namen des Tools erkennt.

2) umgehen Sie dies und "Rebuild Solution" aus dem Build-Menü. Ihr bin-Verzeichnis sollte dann Ihre exe enthalten.

+1

Ich habe kein BUILD-Menü, da es nur eine CS-Datei ist –

+0

Sie erwähnen VS 2008 in Ihrer Frage Ich nehme an, dass Sie Visual Studio 2008 verwenden. – Jeremy

3

Wenn Sie CSC.exe und andere Framework-Tools von überall in der Befehlszeile verwenden möchten, fügen Sie diese zur Pfad-Umgebungsvariablen hinzu.

...Abhängig von der Framework-Version und wenn Sie das Windows SDK installiert haben, können diese leicht abweichen. (Auch wenn Sie auf einem 64-Bit-System, das auch anders sein würde)

  • c: \ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319
  • C: \ WINDOWS \ Microsoft.NET \ Framework \ v3.5;
  • c: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727;
  • c: \ Programme \ Microsoft SDKs \ Windows \ v6.0A \ bin;
1

Um Befehlszeilenaufruf von Compilerprogramm csc.exe des Microsoft .NET Framework, fügen Sie diese bis zum Ende Ihrer Umgebungsvariable PATH zu ermöglichen.

Rechtsklick auf „Arbeitsplatz“ Eigenschaften auszuwählen. Klicken Sie auf die Registerkarte "Erweitert".
Klicken Sie auf die Schaltfläche "Umgebungsvariable".
Scrollen Sie die Liste "Systemvariablen" nach "Pfad".
Klicken Sie doppelt auf "Pfad"
Drücken Sie die "End" Schlüssel
Typ (beginnend mit einem Semikolon Separator)

;C:\Windows\Microsoft.NET\Framework\v4.0.30319 

(sicher sein, von C:\Windows\Microsoft.NET\Framework die richtige Version von Framework entsprechen)

Klicken Sie auf "OK "
Klicken Sie auf "OK "um das Fenster Systemeigenschaften zu schließen.

Überprüfen Sie die Änderung:

öffnen CMD und Geben Sie einen Befehl wie "csc"
Sie so etwas wie dieses

C:\Users\Jerry\Documents\coding>csc
Microsoft (R) Visual C# Compiler version 4.0.30319.33440 for Microsoft (R) .NET Framework 4.5 Copyright (C) Microsoft Corporation. All rights reserved.

+1

Ich fand diese Antwort nützlich, also erstelle ich ein Powershell-Skript, um es mit Vagrant zu integrieren, https://gist.github.com/javier-lopez/449c97c7d07ffcf44cde67992b6a3f1b –