Domanda

Durante l'utilizzo di una terza parte dll mi è stato sempre la seguente eccezione:

  

Percorsoeseguibile deve essere specificato quando non è in esecuzione all'interno di un alone exe supporto

con il seguente traccia

  

System.Configuration.ConfigurationManager.OpenExeConfigurationImpl (ConfigurationFileMap FileMap, booleano isMachine, ConfigurationUserLevel livello di utente, String Percorsoeseguibile).

Il motivo che ho trovato era che era alla ricerca di app.config e mi aveva fornito i dettagli in web.config. La mia domanda è: perché lo System.Configuration distinguere tra web.config e app.config? Ogni pensiero?

È stato utile?

Soluzione

eseguibili:

Diverse eseguibili .NET possono vivere nella stessa directory. Poiché non ci possono essere due file con lo stesso nome nella stessa directory, le applicazioni devono utilizzare nomi diversi per i loro file di configurazione principale. Lo schema applicationName.exe.config risolve questo.

Applicazioni Web / Siti:

NET applicazioni web sono compilate a DLL, e siti web sono di solito compilate just-in-time. Quindi, non c'è nessun "punto di ingresso principale" in questi tipi di progetti. E 'possibile creare un progetto web dove ogni pagina è compilato per la propria assemblea. Quale è l'assemblea principale? Quali assemblaggio dovremmo assegnare un nome al file di configurazione dopo?

Per fortuna, solo un progetto web può essere ospitato da una singola directory, in modo che solo un file di configurazione principale è andare a vivere qui. Questo permette il nome del file di configurazione principale da prelevare per convenzione, e che il nome del file sembra essere web.config.

Altri suggerimenti

web.config è per il tuo sito web e solo le applicazioni web. Esso rimane fisso, vale a dire non cambia il suo nome; è sempre chiamato web.config.

app.config è per le applicazioni non-Web - WinForms, WPF, NT servizi, ecc Questo sarà rinominato in YourApplicationName.exe.config quando si genera il progetto. Non si potrà mai trovare una app.config con quel nome nella directory di un'applicazione (o se lo fai, non sarà utilizzata).

Perché Microsoft sceglie di utilizzare due diversi tipi di nomi - Non lo so - chiedere a Microsoft

.

Quindi, è fondamentalmente solo sapere che cosa hai a che fare con e fornire le informazioni al posto giusto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top