Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
App.Config con soluzioni multiprogetto
lunedì 10 settembre 2007 - 10.07
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
astroman
Profilo
| Junior Member
105
messaggi | Data Invio:
lun 10 set 2007 - 10:07
Ciao a tutti,
ho un problema alquanto "misterioso" da mio punto di vista...
In sintensi il problema è il seguente: ho una solution con 2 progetti al suo interno, una windows form che si usa da tester e l'altra come classlibrary.Nella class library sono andato ad aggiungere un semplice app.config con i seguenti dati
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="Sns.Snr.Bol.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<userSettings>
<Sns.Snr.Bol.My.MySettings>
<setting name="LICENSECODE" serializeAs="String">
<value>11</value>
</setting>
</Sns.Snr.Bol.My.MySettings>
</userSettings>
<appSettings>
<add key="rptConnString" value="Data Source=zzz;Initial Catalog=yyy;Persist Security Info=True;User ID=sa;Password=aaa" />
<add key="ComPort" value="COM3" />
<add key="BaudRate" value="9600" />
</appSettings>
</configuration>
nella classlibrary semplicemente vado a richiamare la configurazione
dim _rptConnString as string = ConfigurationManager.AppSettings("rptConnString")
dim _comPort as string = ConfigurationManager.AppSettings("ComPort")
dim _baudRate as string = ConfigurationManager.AppSettings("BaudRate")
e cerco di visualizzare/far girare il tutto nell'altro applicativo windows form....ma mi torna in ogni caso nothing!
Sto diventando cretino da giorni ma non trovo una soluzione...qualcuno ha qualche idea?
Grazie a tutti
AndreaKpr
Profilo
| Senior Member
265
messaggi | Data Invio:
lun 10 set 2007 - 10:22
Ciao
Io per andare a leggere un App.config simile al tuo faccio cosi :
private static Configuration m_Config;
m_Config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
_rptConnString = m_Config.AppSettings.Settings["rptConnString"].Value.ToString();
_ComPort = m_Config.AppSettings.Settings["ComPort"].Value.ToString();
_BaudRate = m_Config.AppSettings.Settings["BaudRate"].Value.ToString();
Dove ovviamente il nome del file del'"app.config " è : "NomeEseguibile.Exe.Config"
Ziao!
astroman
Profilo
| Junior Member
105
messaggi | Data Invio:
lun 10 set 2007 - 12:56
Ciao e grazie,
in ogni caso tradotto in Vb.Net il tuo codice sarebbe questo
Dim m_Config As System.Configuration.Configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
_rptConnString = m_Config.AppSettings.Settings("rptConnString").Value
_comPort = m_Config.AppSettings.Settings("ComPort").Value
_baudRate = m_Config.AppSettings.Settings("BaudRate").Value
che appena cerca di eseguire m_Config.AppSettings.Settings("rptConnString").Value và in errore perchè torna nothing
Forse non mi son spiegato bene...in pratica quando cerca sul tester di leggere il file config (che il tester di per suo NON ha nessun file config poichè residente solo nell'altro progetto) dice che non riesce a trovarlo...hai mai provato a usare 2 progetti per fare questo test?
Ciao
AndreaKpr
Profilo
| Senior Member
265
messaggi | Data Invio:
lun 10 set 2007 - 13:36
.
AndreaKpr
Profilo
| Senior Member
265
messaggi | Data Invio:
lun 10 set 2007 - 13:36
RiCiao
>hai mai provato a usare 2 progetti per fare questo test?
Per fare sto test no, ma Ovviamente si per quanto riguarda la prassi lavorativa.
Ma a differenza tua non l'app.Config non sta sulla dll ma sull'exe
Quindi quando dalla Dll cerca di caricare il file .config, la stesa carica il .config composto dal nome dell'exe chiamante.
A questo punto se tu non parti da un exe, dovresti cambiare il metodo e non usare "OpenExeConfiguration"
astroman
Profilo
| Junior Member
105
messaggi | Data Invio:
lun 10 set 2007 - 13:47
La cosa strana è appunto questa...perchè carica il file cfg dell'app.config della dll per quanto riguarda la licensecode mentre l'appsettings non la vede...
E' come se gli mancasse un riferimento e non riesco a capire quale...son così disperato che mi son preso a serializzare a gogo per portare i file di configurazione su un file xml! :P
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !