Mkbundle:: wonder bündeln Mono mit Ihren Anwendungen
Haben Sie jemals, warum Sie benötigen
Zitat aus dem Original-Artikel (bitte auch wenn das Gewinde auf dem Original-Artikel folgen). NET Framework oder Mono installiert, um Ihr Programm zu starten? Nun, es wäre viel praktischer, wenn Sie Ihre Anwendungen verteilen könnten, ohne Ihre Clients dazu zu bringen, zusätzliche Frameworks zu installieren, oder? So hier sind wir. Lassen Sie uns eine .NET-basierte Anwendung mit Mono bündeln, so dass Sie Mono oder .NET zur Ausführung nicht benötigen.
Bereiten Sie eine Umgebung
Zuerst müssen Sie neuesten Mono und Cygwin installieren. Die Installation von Mono ist sehr einfach, so dass Sie nichts vermasseln können. Wenn Sie mit der Installation von Cygwin beginnen, gehen Sie in die Vollansicht und fügen Sie dann 4 zusätzliche Pakete hinzu. Diese sind: gcc, mingw, mingw-zlib und zlib.
Jetzt benötigen Sie eine Eingabeaufforderung. Sowohl Mono als auch Cygwin erstellen Verknüpfungen für Eingabeaufforderungen auf Ihrem Desktop, aber Sie müssen sie zu einem kombinieren. Hier ist ein Stapel, der es für mich tut. Sie müssen es möglicherweise ändern, wenn Sie beispielsweise eine andere Mono-Version haben.
Code:
echo Mono version 2.4 Build 6
echo Prepending 'C:\PROGRA~1\Mono-2.4\bin' to PATH
PATH=C:\PROGRA~1\Mono-2.4\bin;%PATH%
chdir C:\cygwin\bin
bash --login -i
eine Anwendung Bundle mit Mono
So sind wir jetzt in einer Eingabeaufforderung diese Cygwin-Modus ausgeführt wird. Beachten Sie, dass dies keine DOS-Eingabeaufforderung mehr ist und "dir" nicht mehr funktioniert. Um Dateien aufzulisten benutze den Linux Befehl "ls". Der Ordner, den Sie gerade durchsuchen, ist wie der folgende. Arek ist ein Benutzername. Code:
C:\cygwin\home\Arek
Wechseln Sie zu diesem Ordner mit Ihrem Explorer. Jetzt kopierst du 2 Dateien in diesen Ordner. 1. ist Ihre Anwendung exe und 2. ist die Datei Mono.dll (2MB), die Sie in Ihrem Mono-Ordner finden können. Code:
C:\Program Files\Mono-2.4\bin
Aus irgendeinem Grund die ganze Prozedur mit langen Dateinamen nicht funktioniert, so dass Ihre Anwendung exe umbenennen. Es sollte mit dieser alten DOS 8.3 Benennung übereinstimmen.
Lets zurück zur Eingabeaufforderung. Sie benötigen nur 1 Befehl, um Ihre Anwendung zu bündeln, und hier ist eine Erklärung.
mkbundle ist ein Programm im Mono-Paket | -o Bundled1.exe gibt an, wie die Mono-gebündelte EXE mit | benannt wird Winform1.exe sagt, was enthalten sein wird, Mono-Bibliotheken werden trotzdem enthalten | --Deps ist notwendig, obwohl ich nicht sicher bin, was es tut | -z wird viel
-Code die Ausgabe exe komprimieren:
mkbundle -o Bundled1.exe Winform1.exe --deps -z
So, jetzt Sie Ihre Bundled1.exe bekam, die zusammen mit Mono selbst Ihre eigene App enthält. Sie sollten Mono oder .NET nicht benötigen, um es auszuführen. Beachten Sie, dass die Größe 4 MB oder mehr beträgt. Diese gebündelten Exes sind nicht leicht.