Hallo,
Ich habe eine kleine Konsolenanwendung(exe) am laufen, die wollte ich nun meinem Kollegen schicken, leider kann er sie nicht ausführen da ihm der Verweis fehlt.
Ich habe Figgle über nuget installiert und nutze es für den Header in der zuerzeugenden TXT.
Könnt ihr mir helfen wie ich mit Visual Studio eine Exe erzeugen kann die den Figgle enthält?
Vorerst hab ich es auskommentiert möchte es aber dennoch gerne in Zukunft nutzen können.
Gruß
Es fehlt kein Verweis; Du hast ihm einfach nicht den vollständigen Output gegeben.
Ihm fehlt einfach die DLL.
[FAQ] Programm läuft in anderer Umgebung nicht (richtig)
Könnt ihr mir helfen wie ich mit Visual Studio eine Exe erzeugen kann die den Figgle enthält?
Das Standardverhalten von .NET Build Outputs ist nicht eine Datei, sondern eine Sammlung an Outputs; also mehrere Dateien in einem Veröffentlichungsordner.
Das hat zum einen technische Gründe, zum anderen ist es auch so, dass aufgrund von Lizenzen i.d.R. nicht alles in eine einzige Datei gepackt / ausgeliefert werden darf.
Daher ist es auch üblich, dass man keine einzelne Exe verschickt, sondern einen Installer.
In der .NET Framework-Welt gibts für ein Zusammenfassen (aka Singleotuput) auch keinen eingebauten Mechanismus; zumindest für die meisten Projektarten.
SingleFileOutput gibts nur mit Projekten, die das auch unterstützen.
Das erfolgt aber nicht während dem Buildprozess, sondern während dem Publish.
Es gibt aber ein Tool namens ILMerge, das nachträglich fast alles zusammen fassen kann.
https://github.com/dotnet/ILMerge
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Ahh
Was muss ich ihm dann noch schicken dass es funktioniert alles aus dem Repo Package ordner oder nur die DLL?
An was kann ich erkennen was benötigt zur ausfürhung und was zum programmieren wichtig ist?
Wie gesagt; verwende die Applikationsveröffentlichung.
Ich glaub jetzt nicht, dass Du, so schnell wie Du geantwortet hast, auch nur eine Sekunde reingeschaut hast. Habs Dir ja nicht umsonst gesagt 😉
Die modernste Art und Weise mit .NET eine Konsolenanwendung weiter zu geben ist eine .NET Core Console App zu bauen und diese als Self Contained Single File zu veröffentlichen.
Damit hast Du sowohl Runtime wie auch alle Abhängigkeiten in einer einzigen Exe.
Publishing A Single EXE File In .NET Core 3.0
Ob das direkt aus Visual Studio funktioniert weiß ich nicht; aber mit der .NET CLI funktioniert das einwandfrei.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Das ist richtig ich habe es nur mal überflogen.
Da mir die Antwort reichte dass er mehrere Datein benötigt.
Daher die Frage woch ich diese finden kann. Dann muss ich nicht neu bauen und er und ich haben weniger Aufwand.
Werde das aber über Nacht mal versuchen mit der Core Anwendung.