OVH Cloud OVH Cloud

app.config d'une DLL

1 réponse
Avatar
Christophe QUEVAL
Bonjour,

J'ai une dll d'accès à mes données avec un fichier de configuration
app.config associé.
Cette dll est appelé depuis un site web qui, lui, possède un web.config
associé.

Dans le app.config de ma dll, j'ai mis ma chaine de connexion. Je veux alors
accéder à cette chaine via
"System.Configuration.ConfigurationSettings.ConnectionStrings["AppConnectionString1"].ConnectionString".
Mais cela ne fonctionne pas (retourne Null). Par contre, si je mets ma
chaine de connexion dans le web.config de mon site, cela fonctionne. Mais
cela ne respecte pas mon découpage en couches.

Comment indiquer à ma dll que son fichier de configuration est le app.config
(que VS transforme bien au passage en nomdll.dll.config et met dans le
dossier bin de ma dll) et non le web.config du site web appelant ???

Merci d'avance.

Christophe

1 réponse

Avatar
Christophe Lauer [MS]
Bonjour,

Christophe QUEVAL wrote:
J'ai une dll d'accès à mes données avec un fichier de configuration
app.config associé.
Cette dll est appelé depuis un site web qui, lui, possède un
web.config associé.



Le Framework 1.1 ne fournit pas de support pour des fichiers de config au
niveau des assemblies. Les configs doivent être centralisées dans le host,
ie l'application .EXE Windows Forms ou l'application web. L'idée est qu'une
assembly peut être utilisée par plusieurs applications de plusieurs façons.
L'option retenue a donc été de placer les configurations au niveau des
hosts.

Vous pouvez cependant utiliser un fichier de config pour votre DLL, mais en
implémentant par vous même sa lecture. Pour trouver le chemin vers votre
fichier de config, vous pouvez utiliser un code tel que le suivant :

string s = System.Reflection.Assembly.GetExecutingAssembly().CodeBase;
s += ".config";


Ensuite, pour le parsing et l'écriture, vous pourrez vous inspirer de cet
article :
http://www.codeproject.com/vb/net/ConfigOpt.asp

HTH,

--
Christophe Lauer - Relations Techniques Editeurs de Logiciels
Division Développeurs et Plateforme d'Entreprise - Microsoft France
http://www.microsoft.com/france/msdn/
This posting is provided "AS IS" with no warranties, and confers no
rights.