2011-04-05 6 views
8

Ho un'applicazione WPF con 3 progetti per rappresentare un'architettura a 3 livelli. Un progetto è impostato come progetto principale. Ho alcuni file XML in uno dei progetti non principali. Questi file XML sono accessibili tramite funzioni definite nelle classi di quel progetto.Inclusi file xml durante la distribuzione dell'applicazione WPF

Quando si tenta di pubblicare l'applicazione utilizzando VS2010 ClickOnce, i file XML non sono inclusi nel file di installazione anche dopo aver contrassegnato i file "Crea azione su contenuto e Copia su directory output come Copia sempre. Quando si esegue l'applicazione installata, l'applicazione segnala che i file non vengono trovati. Riesco a vedere una cartella Application_Files nella cartella di installazione generata da ClickOnce, ma non contiene i file XML.

Quindi, la mia domanda è come posso includere i file XML nelle cartelle di installazione e anche ottenere il loro URL di posizione durante l'esecuzione dell'applicazione.

Grazie, Naveen

Update 1: La struttura in soluzione applicazione è costituita da tre progetti, dire P1, P2, e P3. P3 è il principale progetto di avvio. P1 e P2 sono progetti di librerie di classi. I file XML vengono aggiunti al progetto P2. I file sono contrassegnati come Build Action -> Content and Copy -> Copy Always. Tuttavia, questi file non vengono copiati nella cartella dati dell'applicazione da ClickOnce durante la pubblicazione dell'applicazione.

risposta

1

c'è un ClickOnce 2 posizioni usa:

  • un percorso per l'eseguibile principale e tutti di dll necessario
  • una posizione per tutto ciò che non è eseguibile, cioè le risorse, come il tuo xml

in modo da avere una directory dell'applicazione e una directory di dati. Affrontare la dir dell'applicazione può ancora essere fatto in questo modo AppDomain.CurrentDomain.BaseDirectory.

Ma se si desidera indirizzare la directory dei dati, è necessario qualcosa di specifico per il clickonce: ApplicationDeployment.CurrentDeployment.DataDirectory.

Non sono sicuro di aver controllato la directory dei dati, perché non l'hai menzionata nel tuo post.

+1

Grazie. Ho provato a dare l'indirizzamento dei dati. Ma il problema sembra essere che i file XML non vengono copiati durante la pubblicazione dell'applicazione. Se ho i file XML sotto il progetto principale, verranno copiati nella cartella creata da ClickOnce. Ma i miei file XML non sono nel progetto principale; sono aggiunti al progetto non principale. Ho controllato la cartella con il file di installazione ma non ho trovato nessuno dei miei file XML lì. – naveen

6

Soluzione semplice. Fare clic con il pulsante destro del mouse sul file di progetto che si desidera pubblicare. Seleziona proprietà. Quindi selezionare pubblica nella finestra aperta. Fare clic sul pulsante Apllication files. Lì, trova il file yo .xml, che digiterà 'Data file' per impostazione predefinita. Cambiarlo in Includi. Salva Ricostruisci e pubblica e questo è tutto.

Spero che aiuti qualcuno che ne ha bisogno.