Forum: PC-Programmierung C# Visual Studio - Single EXE kompilieren OHNE inkl.NET FW


von Rene K. (xdraconix)


Lesenswert?

Ich bräuchte mal euer Schwarmwissen.

Ich erstelle gerade eine C# Anwendung und scheitere nun irgendwie am 
Erstellen des Projektes.

Ich kann Release erstellen, ich möchte aber nicht zig Dateien (Verweise, 
DLLs, etc..) haben, sondern nur eine EXE Datei. Das geht auch, aber 
darin ist dann die komplette .NET Runtime enthalten und bläht dann eben 
diese EXE auf 150MB auf, die Runtime brauche ich nicht, da ich davon 
ausgehe das diese auf dem Zielsystem eh schon vorhanden ist. Wäre sie 
nicht vorhanden gibt es ja eh den Hinweis das man sie benötigt und 
direkt ein Link bekommt zum Herunterladen.

Wie stelle ich es in VS an eine einzelne EXE zu erstellen OHNE 
Laufzeitumgebung? Ist dies überhaupt möglich?
von Rene K. (xdraconix)


Lesenswert?

Ahhh... ich habs!

Übrigens, über die IDE mit Publish ignoriert er die eingestellte puxml 
Datei vollkommen.

Man muss PublishSingleFile einschalten und SelfContained aus, über PS 
ging es dann:
1
dotnet publish -c Release -r win-x64 -p:PublishSingleFile=true -p:SelfContained=false -o ./bin/Publish
von Flunder (flunder)


Lesenswert?

Die wenigsten Dateien bekomme ich, wenn ich bei Properties, Build, 
Erweitert..., Debug Informationen auf keine setze. Das mache ich halt 
nur für Release und nicht für Debug.

Zusätzliche .dll Dateien bekomme ich eigentlich nur, wenn ich über NuGet 
irgendwelchen Kram einbinde. Ich habe nicht das Gefühl, dass in der .exe 
bei mir .Net Runtimes enthalten sind. Fehlt die passende Runtime auf dem 
Rechner, dann läufts nicht.
von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Wenn es keine externen Dlls braucht, bau sie einfach mit dem .NET 
4.7/4.8 Framework, dann ist das gar kein Problem.
: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.