2013-05-23 10 views
27

Quando sto usando un'applicazione web, la riga di codice sottoPercorsoeseguibile deve essere specificato quando non è in esecuzione all'interno di uno stand alone exe

Configuration objConfig = 
    ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 

nella libreria di classi stanno dando questo errore:

"exePath must be specified when not running inside a stand alone exe."

In precedenza era in uso un'applicazione console e il codice poteva accedere allo app.config. Ho provato a utilizzare System.Web.Configuration nella libreria di classi, ma la dll non era presente nella scheda .Net per "Aggiungi riferimento".

Gentile aiuto :)

+0

Quale versione di .NET Framework si utilizza? – wgraham

+0

@wgraham L'applicazione web è in .net 4.0 e le librerie di classi sono in 3.5 –

+0

Si tratta di una libreria di classi di cui si dispone o di una libreria di terze parti? – BozoJoe

risposta

2

Non sono sicuro di quello che stai facendo; ma a prima vista sembra che tu stia cercando di usare il codice scritto per un'applicazione WinForms in un ambiente web. Questo quasi certamente non funzionerà, dal momento che la tua app web non avrà i permessi necessari.
provate a guardare fino come fare questo in un ambiente web (dal momento che sembra avere a che fare con i file di configurazione, prova a cercare il web.config per iniziare)

+0

Questo mi ha fatto sulla strada giusta per risolvere il problema che stavo avendo. Mi mancavano alcune sezioni nel mio web.config – Ju66ernaut

36

È necessario utilizzare un diverso Configuration Manager in un contesto web. Il seguente codice mostra un esempio di come comportarsi:

System.Configuration.Configuration configuration = null;   
if (System.Web.HttpContext.Current != null) 
{ 
    configuration = 
     System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~"); 
} 
else 
{ 
    configuration = 
     ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 
} 
Problemi correlati