ho definito il mio configSource per cercare i file di configurazione in una sotto-directory chiamata config, come segue:Perché Web.config sta cercando configSource nella cartella del progetto anziché in bin?
<connectionStrings configSource="config\ConnectionStrings.config" />
Ho il file di configurazione definito come un file collegato, in modo che quando la build accade viene copiato in la mia cartella bin \ config va bene.
Tuttavia, i miei progetti web app stanno guardando cartella config progetto di sviluppo al posto del distribuzione cartella \ config bin. Ho confermato questo con Process Monitor.
Così ho alcune domande:
- Perché è alla ricerca lì, invece di bin \ config - mi sono perso un percorso relativo impostazione da qualche parte?
- I file collegati non vengono copiati lì ma solo per il cestino. La mia comprensione è che questo è il comportamento corretto. È un'ipotesi corretta o dovrebbe essere copiata in entrambe le posizioni? In tal caso, qual è l'impostazione per abilitarlo?
- È buona norma utilizzare una sottocartella per i file collegati o devo lasciarli nella radice del progetto?
Grazie mille!
UPDATE: Sto usando il metodo descritto qui: http://consultingblogs.emc.com/jamesdawson/archive/2008/06/03/using-linked-files-with-web-application-projects.aspx per garantire che i file di configurazione vengono copiati, e facendo un po 'di sperimentazione che ho risposto alla domanda # 2. No, non è un comportamento predefinito in Visual Studio, ma questa soluzione garantisce che i file vengano copiati in entrambe le posizioni.
Beh, non credo di usare la frase "progetto web diverso" ma ho più progetti di destinazione (3 progetti web e un'app console) che usano il file collegato ConnectionStrings.config. La domanda non è quanti file di configurazione. Quello che non mi piace è che i progetti web stanno cercando nel mio percorso di sviluppo rispetto al percorso di distribuzione per i file di configurazione. L'app della console non lo sta facendo. La mia aspettativa è che web.config cercherà i file collegati nel percorso di distribuzione una volta compilati, proprio come fa app.config della mia console. Ci scusiamo per la mancanza di chiarezza! – Shane
Ciao di nuovo, beh se ho capito bene la tua domanda, l'unico problema qui è che web.config non sta leggendo il file collegato dalla posizione prevista. Da quanto ho potuto capire, sembra che sia necessario specificare la posizione esatta del file, in modo che web.config possa leggerlo. Ecco il mio [collegamento] (fonte di informazioni: http://stackoverflow.com/questions/2411184/can-a-web-config-read-from-an-external-xml-file) –
Ciao di nuovo, beh se io capito bene la tua domanda, l'unico problema qui è che web.config non sta leggendo il file collegato dalla posizione prevista. Da quello che ho potuto ricavare, sembra che sia necessario specificare la posizione esatta del file, per il web.config per leggerlo. Ecco la mia [fonte di informazioni] [1] [1]: http: //stackoverflow.com/questions/2411184/can-a-web-config-read-from-an-external-xml-file Nei miei progetti I effettivamente utilizzare questo approccio, si spera che questo possa risolvere il tuo problema. –