2016-04-15 9 views
0

Ich erstelle ein Paket für NuGet aus einer Bibliothek, die eine Konsolenanwendung umschließt. Wie würde ich dieses Konsolenprogramm mit der von mir erstellten Bibliothek versorgen? Die Konsole .exe muss sich im selben Verzeichnis wie die Bibliothek nach dem Build befinden, ist aber während des Builds nicht erforderlich.Wie verpacke ich eine Bibliothek mit externen Referenzen?

Ich glaube nicht, ich kann es in den Ordner "lib" platzieren, da es nicht etwas ist, das das referenzierende Programm überhaupt referenzieren kann, und nicht den Ordner "content", da es nach dem Build-Prozess benötigt wird nicht während.

Muss ich den Benutzer dazu bringen, die Konsolenanwendung separat herunterzuladen und den Dateinamen der Bibliothek bereitzustellen? Oder gibt es einen Weg, wie ich dieses Bedürfnis in NuGet einfach umsetzen kann?

Antwort

0

Nuget-Pakete sind nicht zum Bereitstellen von ausführbaren Dateien gedacht. Der Zweck von Nuget besteht darin, die Bereitstellung anderer Bibliotheken zu vereinfachen, die Sie als Referenz in Ihre Codeprojekte aufnehmen müssen. Auch ich bin mir nicht sicher, was Sie mit der Konsole-Anwendung meinen, aber wenn dies einige tatsächliche Drittanbieter-Konsolen-Programm und nicht die Eingabeaufforderung in Windows und dies bedeutete, an einen Endbenutzer zu gehen, der nur doppelt klicken und die Anwendung dann ausführen müssen Sie entweder Sie müssen ein Installationsprogramm mit InstallShield oder einem der mit VS bereitgestellten Installationsprogramme erstellen. Zusätzlich können Sie in schokoladenbraun suchen, das für die Verteilung und den Einsatz von Anwendungen gedacht ist.

Chocolatey

+0

Die Art und Weise die Konsolenanwendung funktioniert, ist, dass der Endbenutzer die Bibliothek verwendet, um mit der Befehlszeile zur Werkzeugschnittstelle nicht umgekehrt. Die Bibliothek gibt die Werkzeugargumente und führt sie aus, und behandelt sie alle in einer verwalteten Umgebung. Der Benutzer ** never ** führt die .exe-Datei aus, die Bibliothek selbst ist eine Schnittstelle zwischen dem Befehlszeilentool und dem Projekt, das auf diese Bibliothek verweist. – user2989736

+0

Oh ich sehe, gut in diesem Fall könnten Sie einfach die EXE-Datei in das Nuget-Paket verpacken und es so bereitstellen. Selenium web driver setzt den Web-Treiber exes über Nuget ein. Es kopiert nur die exe in den root-Ordner Ihres Pakets, aber ich denke, es erfordert einige zusätzliche Skripte, um es zum Laufen zu bringen. Ich habe Nugget jedoch nie so benutzt. –

Verwandte Themen