2009-01-08 9 views
7

Ich habe eine einfache WinForms-Anwendung, die ich intern mit ClickOnce bereitstelle. Die Hauptanwendung hat eine abhängige Assembly, diese Assembly hat einige XML-Template-Dateien, die in den Build-Eigenschaften als "Content" und "Copy Always" markiert sind, aber sie erscheinen nicht in der Liste der Anwendungsdateien, wenn ich in die Projekteigenschaften gehe. > Publish-> Anwendungsdatei-Dialog.Bereitstellen der Inhaltsdatei von abhängigen Assemblys mit ClickOnce

Wer weiß, wie ich diese Xml-Dateien, die Teil einer abhängigen Assembly sind, bereitstellen kann.

@ codeConcussion- Danke, das hat super funktioniert. Am Ende fügte ich die XML-Datei mit einer Add Existing File hinzu und wählte "Add as Link", was das gleiche erreichte.

Antwort

2

Ich benutze VS 2008 SP1, also bin ich mir nicht sicher, dass dies für frühere VS-Versionen genauso funktioniert.

Sie können sich um Ihr Problem kümmern, indem Sie einfach ein Post-Build-Ereignis zu Ihrem Hauptprojekt hinzufügen. In einem VB.Net-Projekt wäre das Mein Projekt> Registerkarte Kompilieren> Ereignisse erstellen ...> Post-Build bearbeiten .... In C#, Projekteigenschaften> Build-Ereignisse> Post-Build ... bearbeiten. Eine einfache xcopy [Quelldatei] [Zielordner] Befehl zum Kopieren der XML-Vorlagendatei aus dem bin-Ordner der abhängigen Assembly in den bin-Ordner des Hauptprojekts sollte funktionieren.

Von dort, stellen Sie sicher, dass Sie "Alle Dateien anzeigen" im Dialogfeld "Anwendungsdateien" der Registerkarte "Veröffentlichen" aktivieren.

Eine Alternative dazu wäre, Ihre beiden Projekte so zu ändern, dass sie in denselben Ordner gruppiert werden. Das funktioniert großartig, aber ich würde es nur tun, wenn die abhängige Assembly für diese Anwendung spezifisch ist und keine Bibliotheks-Assembly ist, die von mehreren Apps verwendet wird.

+0

danke, anonymer Benutzer, für das Abstimmen einer Antwort, die das Problem des Fragestellers gelöst hat und dann Null-Informationen, warum. bleib edel. – codeConcussion

+0

Ich bin nicht dieser Benutzer, der die Stimme abgegeben hat. Aber ich werde versuchen, den möglichen Grund zu erklären: Wenn wir eine abhängige Assembly haben, die eine Datei mit der Option CopyAlways enthält, kopiert diese Datei in das Ausgabeverzeichnis des Hauptprojekts, ist aber nicht aus der Liste clickonce publish files sichtbar. Ich habe keine Ahnung, warum Ihre Antwort als richtig markiert, vielleicht war es möglich, in der alten Version von VS zu tun ... –

+0

Roman Badiornyi ist korrekt.Ich habe eine abhängige Versammlung für Berichte. Für alle Berichtsdateien habe ich "Build Action" auf "Content" und "Copy to Output Directory" auf "Copy Always" gesetzt. Wenn ich die Lösung erstelle, wird der Ordner Reports in der abhängigen Assembly in den Hauptordner der Assembly kopiert. ClickOnce -> Anwendungsdateien zeigt diese Dateien jedoch nicht an, auch wenn ich die Option "Alle Dateien anzeigen" auswähle. – Niranjan

Verwandte Themen