Wie wird eine C # -Anwendung bereitgestellt, während DLL-Dateien von Drittanbietern einbezogen werden?

8

Am Anfang weiß ich nicht viel über die Bereitstellung. Ich hoffe meine Frage ergibt Sinn.

Ich muss eine C # -Anwendung auf einer Reihe von Desktops installieren / bereitstellen. Es benötigt eine DLL-Datei eines Drittanbieters: Eine C ++ - Bibliothek ("lpsolve55.dll", für Interessierte ist es ein kostenloser MIP / LP-Solver, siehe lpsolve.sourceforge.net/5.5/). Ich benutze es in meinem Code auf folgende Weise:

%Vor%

Zum Testen habe ich die .dll-Datei manuell in project\bin\release kopiert, und es funktioniert einwandfrei.

Meine Frage: Ich brauche ein Installationsprogramm für die Anwendung, das verwaltet, dass die .dll ebenfalls installiert wird. Ich denke über ClickOnce-Bereitstellung nach, da ich Visual C # 2008 Express Edition verwende, aber keine nicht zu teure Lösung machen.

Was würden Sie empfehlen?

    
Willem 02.06.2010, 08:11
quelle

3 Antworten

10

Fügen Sie Ihre DLL einfach dem Projekt in Visual Studio hinzu.

  • Klicken Sie mit der rechten Maustaste auf das Projekt im Solution Viewer
  • Wählen Sie Hinzufügen - Vorhandenes Element
  • Navigieren Sie zur DLL und klicken Sie auf oder , um den kleinen Pfeil neben der Schaltfläche Hinzufügen und Als Link hinzufügen
  • hinzuzufügen
  • Wählen Sie Ihre DLL im Solution Viewer
  • aus
  • Klicken Sie mit der rechten Maustaste darauf und wählen Sie Eigenschaften
  • Legen Sie Build-Aktion auf Inhalt fest
  • Setzen Sie Kopieren in Ausgabeverzeichnis auf Kopieren, falls neuer

Jetzt wird Ihre Datei automatisch in den Debug- oder Release-Ordner kopiert.

Für die Bereitstellung können Sie Ihrer Lösung ein Setup-Projekt hinzufügen. Wenn Sie dem Setup-Projekt die Ausgabe Ihres ersten Projekts hinzufügen, wird die DLL automatisch zum Setup hinzugefügt.

Aber ein Setup-Projekt ist ein völlig neues Gebiet. Fangen Sie also an, damit zu arbeiten und stellen Sie eine neue Frage, wenn Sie damit nicht weiterkommen.

    
Oliver 02.06.2010 08:23
quelle
2

Sie können die DLL einfach in Ihr Projekt einfügen und das Ganze mit ClickOnce bereitstellen. Fügen Sie es Ihrer Lösung hinzu und legen Sie die Build-Aktion auf "content" fest. Setzen Sie 'Kopie zum Ausgabeverzeichnis' auf 'Immer kopieren'. Wenn Sie veröffentlichen, sollten Sie in der Lage sein, die Datei im Veröffentlichungsordner zu sehen. Sie können auch das Dialogfeld "Anwendungsdateien" (auf der Registerkarte "Veröffentlichung" der Projekteigenschaften) überprüfen, um sicherzustellen, dass es eingebunden wird.

    
RobinDotNet 02.06.2010 17:23
quelle
1

Wenn ClickOnce die DLL-Datei mit sich führen und in den Anwendungsordner kopieren kann, würde ich es verwenden. Es wäre sogar besser, wenn es überprüfen könnte, ob die DLL-Datei auf dem System (Ordner system32) vorhanden ist und diese dann verwendet, so dass Sie nicht mehrere Versionen einer Binärdatei auf dem Zielcomputer haben.

    
Femaref 02.06.2010 08:13
quelle

Tags und Links