2017-08-21 6 views
1

ausführen Ich erstellte eine Windows-Formularanwendung von VS 2017. Es gibt 3 Dateien, Program.cs, Form1.Designer.cs, Form1.cs. Ich möchte es kompilieren und über cmd ausführen. Ich habe versucht, csc /out:Program.exe Program.cs einzugeben, aber es funktioniert nicht.Wie Windows-Formularanwendung von Cmd

Der Fehler ist:

nicht Namespace oder Klasse 'Form1' beinhalten.

Die Anwendung funktioniert in VS2017, aber nicht in cmd. Kann mir jemand sagen, wie man diese Anwendung kompiliert und über cmd ausführt?

+1

Sie können Ihre Lösung (.sln) auch über die Befehlszeile "msbuild", wenn Sie nur nach einer Möglichkeit suchen, Ihre App automatisch zu erstellen. – BitTickler

+2

Mögliches Duplikat von [Kompilieren/Ausführen einer C# -Quelldatei in der Eingabeaufforderung] (https://stackoverflow.com/questions/553143/compiling-executing-ac-sharp-source-file-in-command-prompt) –

+0

Insbesondere suchen an der '/ r: AssemblyName.dll' Teil –

Antwort

3

Sie sollten alle Ihre Klassen kompilieren und nicht nur eine auf Visual Studio-Eingabeaufforderung:

csc.exe *.cs /target:winexe /out:Program.exe 

Wenn Sie die Ausgabe exe in bin Verzeichnis Ihres Projekts Stammverzeichnis erstellen möchten, dann können Sie unter Befehl versuchen. Sie müssen sicherstellen, dass das Verzeichnis bin bereits vorhanden ist, bevor Sie den Befehl auslösen. Dieser Befehl wird nicht Verzeichnis bin erstellen, wenn nicht vorhanden.

csc.exe *.cs /target:winexe /out:.\bin\Program.exe 

Hinweis: /target Schalter helfen dem Start die Ausgabe exe als Windows Forms-Anwendung. Wenn Sie diesen Schalter nicht erwähnen, wird er zuerst als Konsolenanwendung gestartet, die wiederum die Windows-Anwendung luncht.

Eine alternative Möglichkeit ist msbuild Befehl anstelle von csc Befehl auf Visual Studio-Eingabeaufforderung, um zu versuchen:

msbuild WindowsFormsApplication1.csproj 

Hier müssen Sie die Projektnamen (* CSPROJ) anstelle von einzelnen Klassendateien Namen als Befehl -line Parameter. msbuild Befehl kümmert sich auch um die Erstellung von Unterverzeichnisse wie bin, debug wenn nicht vorhanden.