2010-07-07 11 views
5

Ho alcuni file, file audio (.wav e .mp3) e file di testo (.rtf), nella mia cartella bin \ Debug durante la codifica, ma dopo la pubblicazione non si trovano da nessuna parte.Come distribuire i file con un'applicazione clickonce?

La mia applicazione può riprodurre file audio e questi sono i file audio predefiniti che dovrebbero essere installati con l'applicazione nel percorso Application.Startup.

Il testo file * .rtf viene caricato in un controllo RichtextBox nel modulo della Guida per l'applicazione.

Ho le loro proprietà impostate su Contenuto e Copia se Più recenti.

risposta

7

È necessario impostare questi file come contenuti (così come sono) in modo che vengano copiati nella cartella bin. Quindi apri la pagina delle proprietà del progetto, seleziona la scheda "Pubblica" e fai clic su "File dell'applicazione ...". Ora dovresti vedere un elenco di file relativi al tuo progetto e un valore che indica come dovrebbero essere pubblicati. Molto probabilmente i tuoi file sono stati contrassegnati come dati e sarebbero destinati alla cartella dei dati delle applicazioni ClickOnce, non alla cartella bin. Cambiare il codice per utilizzare la cartella di dati ClickOnce (esistono metodi di supporto) o accertarsi che sia selezionato "Includi" e non "File di dati".

In alternativa, se non è previsto che i file vengano modificati sull'applicazione client, è possibile considerare l'incorporamento dei file nella DLL come risorsa.

+0

Grazie, @Bronumski. Ma l'altro problema che ho è che ho importato il mio progetto in un repository svn online. Quindi ho controllato la mia copia di lavoro. Ora questi file, come visualizzati in Visual Studio Solution Explorer, non hanno le icone specifiche del tipo di file e, nella finestra Proprietà, le proprietà "Crea azione" e "Copia in directory di output" non vengono visualizzate. – systemovich

+1

Ho appena dovuto impostare "Contenuto" e "Copia nella directory di output" per le copie dei file nella cartella bin \ Debug e concatenare "\ bin \ Debug" a Application.StartupPath nel codice in cui carico i file. Grazie. – systemovich

1

Non è chiaro per me: hai aggiunto questi file al progetto in Visual Studio? In tal caso, aggiungili al livello più alto in cui si trova il tuo file csproj, o inseriscili in una cartella lì sotto (saranno distribuiti nello stesso percorso relativo). Sicuramente NON includerei i file dalla cartella \ bin \ debug. Si potrebbe facilmente cancellare la cartella \ bin una volta e ci sono. Non sono sicuro che lo stai facendo, ma sembra che tu sia.

Se li metti nel livello più alto del tuo progetto, saranno nel livello più alto della tua implementazione. Se li metti in una cartella, saranno in quel percorso relativo. Imposta l'azione di compilazione su "contenuto" e imposterei "copia nella directory di output" su "copia sempre".

+0

Ho anche i file nel livello superiore, ma le loro proprietà "Build Action" e "Copy to Output Directory" non compaiono nella finestra Properties. In Esplora soluzioni, anche questi file non hanno le icone specifiche del tipo di file, ma l'icona predefinita "pagina bianca con l'angolo superiore destro e l'icona con il bordo tratteggiato". Ecco uno screenshot in cui il file Alarm_Clock_Help.rtf è selezionato in Solution Explorer: http://tinyurl.com/39lqo45 – systemovich

+0

Il mio commento precedente si riferisce. Ho scoperto che il motivo era che ho copiato i file usando Windows Explorer. Ora ho aggiunto i file al progetto usando "Progetto> Aggiungi elemento esistente ..." dal menu di Visual Studio e hanno le icone giuste e le proprietà giuste. – systemovich

+0

Pensavo che probabilmente lo avessi fatto. Penso che sia possibile fare clic con il pulsante destro del mouse su di essi e selezionare "include in project" e li aggiungerà al progetto anche in quel caso. Quindi i file vengono distribuiti con successo ora? – RobinDotNet

Problemi correlati