C# Visual Studio - Single EXE kompilieren OHNE inkl.NET FW

OP #8018134
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?

OP #8018144
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
#8040264
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren