Laden...

Wie kann ich meine Anwendung inklusive aller Verweise weitergeben?

Erstellt von ma_fo vor 3 Jahren Letzter Beitrag vor 3 Jahren 712 Views
M
ma_fo Themenstarter:in
10 Beiträge seit 2020
vor 3 Jahren
Wie kann ich meine Anwendung inklusive aller Verweise weitergeben?

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ß

16.842 Beiträge seit 2008
vor 3 Jahren

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

M
ma_fo Themenstarter:in
10 Beiträge seit 2020
vor 3 Jahren

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?

16.842 Beiträge seit 2008
vor 3 Jahren

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.

M
ma_fo Themenstarter:in
10 Beiträge seit 2020
vor 3 Jahren

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.

F
10.010 Beiträge seit 2004
vor 3 Jahren

Oder du installierst Fody und Fody.Costura per Nuget