2010-07-07 3 views
5

Ich habe einige Dateien, Sounddateien (.wav und .mp3) und Textdateien (.rtf), in meinem bin \ Debug-Ordner während der Programmierung, aber nach der Veröffentlichung sind sie nirgendwo zu finden.Wie man Dateien mit einer clickonce Anwendung ausliefert?

Meine Anwendung kann Sounddateien abspielen und dies sind die Standard-Sounddateien, die mit der Anwendung im Application.Startup-Pfad installiert werden sollen.

Die Text * .rtf-Dateien, die ich in ein RichtextBox-Steuerelement in meinem Hilfeformular für die Anwendung laden.

Ich habe ihre Eigenschaften auf Inhalt und kopieren, wenn neuere festgelegt.

Antwort

7

Sie müssen diese Dateien als Inhalt festlegen (so wie Sie), damit sie in den Ordner bin kopiert werden. Öffnen Sie dann die Seite mit den Projekteigenschaften, wählen Sie die Registerkarte "Veröffentlichen" und klicken Sie auf "Anwendungsdateien ...". Sie sollten nun eine Liste von Dateien sehen, die zu Ihrem Projekt gehören, und einen Wert angeben, der angibt, wie sie veröffentlicht werden sollen. Mehr als wahrscheinlich, dass Ihre Dateien als Daten markiert wurden und für Ihren ClickOnce-Anwendungsdatenordner und nicht für den bin-Ordner bestimmt sind. Ändern Sie den Code, um den ClickOnce-Datenordner zu verwenden (es gibt Hilfsmethoden), oder stellen Sie sicher, dass "Einschließen" ausgewählt ist und nicht "Datendatei".

Wenn die Dateien auf der Client-Anwendung niemals geändert werden, können Sie Ihre Dateien als Ressource in Ihre DLL einbetten.

+0

Danke, @Bronumski. Aber das andere Problem, das ich habe, ist, dass ich mein Projekt in ein Online-SVN-Repository importiert habe. Dann habe ich meine Arbeitskopie ausgecheckt. Jetzt haben diese Dateien, die im Visual Studio-Projektmappen-Explorer angezeigt werden, keine dateitypspezifischen Symbole, und im Eigenschaftenfenster werden die Eigenschaften "Build-Aktion" und "In Ausgabeverzeichnis kopieren" nicht angezeigt. – systemovich

+1

Ich musste nur "Content" und "Copy to Output Directory" für die Kopien der Dateien im bin \ Debug-Ordner setzen und "\ bin \ Debug" mit Application.StartupPath mit dem Code verketten, wo ich die Dateien lade. Vielen Dank. – systemovich

1

Es ist mir nicht klar - haben Sie diese Dateien zu Ihrem Projekt in Visual Studio hinzugefügt? Wenn dies der Fall ist, fügen Sie sie der obersten Ebene hinzu, auf der sich Ihre csproj-Datei befindet, oder fügen Sie sie in einen Ordner darunter ein (sie werden im gleichen relativen Pfad bereitgestellt). Ich würde definitiv keine Dateien aus dem Ordner \ bin \ debug einschließen. Du könntest deinen \ bin-Ordner irgendwann einfach auslöschen und los geht's. Ich bin mir nicht sicher, dass du das machst, aber es klingt wie du bist.

Wenn Sie sie auf die oberste Ebene Ihres Projekts stellen, befinden sie sich auf der obersten Ebene Ihrer Bereitstellung. Wenn Sie sie in einen Ordner legen, befinden sie sich in diesem relativen Pfad. Setze Build Action auf "content" und ich setze "copy to output directory" auf "copy always".

+0

Ich habe auch die Dateien in der obersten Ebene, aber ihre Eigenschaften "Build Action" und "Copy to Output Directory" erscheinen nicht im Eigenschaftenfenster. Im Projektmappen-Explorer verfügen diese Dateien auch nicht über die dateitypspezifischen Symbole, sondern über das standardmäßige Symbol "Weiße Seite mit dem Eselsohr oben rechts und mit unterbrochenen Linien". Hier ist ein Screenshot, wo die Alarm_Clock_Help.rtf Datei im Solution Explorer ausgewählt ist: http://tinyurl.com/39lqo45 – systemovich

+0

Mein vorheriger Kommentar bezieht sich. Ich fand den Grund dafür, dass ich die Dateien mit Windows Explorer kopiert habe. Ich habe jetzt die Dateien zum Projekt hinzugefügt, indem ich "Project> Add Existing Item ..." aus dem Visual Studio Menü benutze und sie haben die richtigen Icons und die richtigen Eigenschaften. – systemovich

+0

Ich dachte, du hättest das wahrscheinlich getan. Ich denke, Sie können mit der rechten Maustaste auf sie klicken und "in Projekt einschließen" auswählen, und sie werden in diesem Fall auch zum Projekt hinzugefügt. Werden die Dateien jetzt erfolgreich bereitgestellt? – RobinDotNet