2009-09-10 19 views
7

In meiner Anwendung lade ich einige Assemblys dynamisch je nachdem, was der Benutzer gewählt hat. Natürlich sind diese im Projekt nicht referenziert. Bei der Veröffentlichung mit ClickOnce sind diese Assemblys nicht im Paket enthalten.Verwenden von ClickOnce mit dynamisch geladenen Assemblies

Die Frage ist - ist es möglich, den ClickOnce-Verlag zu tricksen, um einige andere Dateien zu verwenden, auf die im Projekt nicht verwiesen wird?

Antwort

1

Ich nehme an, dass Sie Visual Studio verwenden, um die Bereitstellung zu veröffentlichen.

Wenn Sie auf diese Weise fortfahren möchten, müssen Sie die Dateien entweder als Referenzen hinzufügen oder sie dem Projekt als Inhalt hinzufügen. Wechseln Sie unter den Eigenschaften des Startprojekts zur Registerkarte Veröffentlichung, Anwendungsdateien, und stellen Sie sicher, dass die Datei enthalten ist.

Ihre andere Option besteht darin, die Click-Once-Manifeste außerhalb von Visual Studio mit mageui.exe zu erstellen und zu veröffentlichen (oder mage.exe, wenn Sie von der Befehlszeile aus arbeiten möchten).

1

Sie verweisen möglicherweise nicht auf die Assembly, da Sie nicht von ClickOnce bereitgestellt werden und später dynamisch heruntergeladen werden sollen. Aber Sie müssen es nicht tun. Referenz normalerweise.

Es ist eine Möglichkeit, dynamisch eine Baugruppe zu laden, die hier beschrieben wird: http://msdn.microsoft.com/en-us/library/ak58kz04.aspx

Das Problem ist, dass eine manuelle Methode ist, mage/MageUI Verwendung als optional zu markieren. Sie können es in Visual Studio unter Projekteigenschaften/Veröffentlichen/Anwendungsdateien ausführen und in der Zeile der Assembly, die Sie programmgesteuert herunterladen möchten, die Downloadgruppe mit dem gewünschten Namen ändern. Im Beispiel des Links create new mit dem Namen "ClickOnceLibrary".

Verwandte Themen