Verwendung der nichtlinearen Optimierungsbibliothek von Ceres im Windows-System: (3) Veröffentlichen von Anwendungen

(1) Installieren Sie die Ceres-Bibliothek

(2) Rufen Sie die Ceres-Bibliothek auf

(3) Geben Sie die Anwendung frei

        1. Integrieren Sie die DLL-Bibliothek in die EXE-Anwendung

                1.1.Nähen.Fody

                1.2. ILMerge und ILMergeGUI

                1.3.WinRAR

        2. Erstellen Sie das Installationspaket

 (3) Geben Sie die Anwendung frei

In C#-Projekten wird häufig auf einige externe DLL-Bibliotheken verwiesen. Beim Veröffentlichen müssen diese Bibliotheken zusammen mit dem ausführbaren Programm freigegeben werden, andernfalls ist das Programm nicht lauffähig. Eine besteht darin, die grüne Version der Software direkt freizugeben, nachdem die DLL in die EXE-Datei integriert wurde, und die andere darin, ein Installationspaket für das Programm zu erstellen und es lokal zu installieren.

1. Integrieren Sie die DLL-Bibliothek in die EXE-Anwendung

Die DLL kann direkt als Ressource in das Projekt eingebettet werden, oder es kann ein Tool eines Drittanbieters verwendet werden, um die DLL und die Exe zu integrieren. Spezifische Routinen finden Sie in diesem Artikel:

https://haolaoshi.blog.csdn.net/article/details/102502693

Es wird gesagt, dass die Standardmethode zur Ressourceneinbettung von VS nur für verwaltete DLLs (d. h. .NET-basierte DLLs) geeignet ist und nicht für nicht verwaltete DLLs (z. B. C++-DLLs) funktioniert. Ich habe es erfolglos versucht, also habe ich aufgegeben. Natürlich kann es sein, dass ich etwas falsch gemacht habe. Und das Packen oder Einbetten nicht verwalteter DLLs ist mithilfe von Tools von Drittanbietern problemlos möglich. Im Folgenden werden hauptsächlich einige gängige Tools von Drittanbietern zur Integration von DLL und EXE vorgestellt. Lesen Sie den folgenden Artikel:

https://www.cnblogs.com/sndnnlfhvk/p/5547427.html

1.1.Nähen.Fody

Sie können abhängige DLLs während der Erstellungsphase direkt in die Ziel-Exe zusammenführen und nicht verwaltete DLLs für die Verpackung im gemischten Modus unterstützen. Der Nachteil besteht darin, dass Sie nur DLLs in die Exe-Datei zusammenführen können und das Zusammenführen einer DLL mit einer anderen DLL nicht unterstützt wird.

Costura.Fody-Download-Adresse: GitHub – Fody/Costura: Referenzen als Ressourcen einbetten

Wenn es sich um eine verwaltete DLL handelt, von der das Projekt abhängt, werden diese verwalteten DLLs nach der Installation von Fody und Costura.Fody über Nuget während der Kompilierungsphase des Projekts automatisch in die Ziel-Exe zusammengeführt.

Für nicht verwaltete DLLs (z. B. C++-DLLs) müssen wir diese DLL-Namen in der Datei FodyWeavers.xml im Projekt hinzufügen (beachten Sie, dass der Name kein .dll-Suffix hat). Wenn keine Datei FodyWeavers.xml in der Datei vorhanden ist Projekt, Sie können zum Projekt gehen. Fügen Sie diese XML-Datei hinzu.

  Darüber hinaus müssen Sie einen neuen Ordner im Projekt erstellen. Wenn Ihre DLL 64-Bit ist, lautet der Ordnername Costura64. Wenn Ihre DLL 32-Bit ist, lautet der Ordnername Costura32. Kopieren Sie dann alle Ihre DLL-Dateien in diesen Ordner und dieser Ordner im Projekt sollte auch entsprechend hinzugefügt werden.

 Stellen Sie abschließend die Eigenschaften dieser DLLs auf „eingebettete Ressourcen“ ein. Nachdem alle Einstellungen abgeschlossen sind, können Sie das Projekt kompilieren, um die gepackte Exe-Datei zu erhalten, diese Exe auf einen anderen Computer kopieren und direkt ausführen.

 Referenzartikel:

C#(.Net) bettet nicht verwaltete DLL in exe ein – Tencent Cloud Developer Community – Tencent Cloud

1.2. ILMerge und ILMergeGUI

Es unterstützt das Zusammenführen von DLLs, von denen EXE abhängt, in EXE und unterstützt auch das Zusammenführen anderer DLLs, von denen die Haupt-DLL abhängt, in eine DLL.

ILMerge-Download-Adresse:

https://www.microsoft.com/en-us/download/details.aspx?id=17630

ILMergeGUI-Downloadadresse:

http://ilmergegui.codeplex.com/

1.3.WinRAR

Auch die Verwendung von WinRAR zum Erstellen von Dateien, die automatisch dekomprimiert und ausgeführt werden, kann unseren Anforderungen gerecht werden. Einzelheiten finden Sie in diesem Artikel:

https://www.cnblogs.com/fxd980519/articles/4807756.html

2. Erstellen Sie das Installationspaket

(1) Das mit VS gelieferte Release-Tool

Denken Sie daran, die entsprechende .NET Framework-Version und die Laufzeitbibliotheksversion auf Systemebene auszuwählen, die Benutzer online installieren können.

(2) Installieren Sie das Paketveröffentlichungs-Plug-in Microsoft Visual Studio Installer Projects

 Lernprogramm:

https://www.cnblogs.com/ttcbk/p/14875456.html

Verweise

[1] Zhang Hu, Robot SLAM Navigation Core Technology and Practice [M]. Machinery Industry Press, 2022.

Supongo que te gusta

Origin blog.csdn.net/m0_68732180/article/details/130234858
Recomendado
Clasificación