<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Le blog de Kropernic &#187; configuration</title>
	<atom:link href="https://blog.developpez.com/kropernic/tag/configuration/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.developpez.com/kropernic</link>
	<description></description>
	<lastBuildDate>Tue, 15 Jul 2014 08:43:13 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.42</generator>
	<item>
		<title>Utilisation d&#8217;un fichier de configuration pour une dll</title>
		<link>https://blog.developpez.com/kropernic/2013/06/18/utilisation-dun-fichier-de-configuration-pour-une-dll/</link>
		<comments>https://blog.developpez.com/kropernic/2013/06/18/utilisation-dun-fichier-de-configuration-pour-une-dll/#comments</comments>
		<pubDate>Tue, 18 Jun 2013 13:20:01 +0000</pubDate>
		<dc:creator><![CDATA[Kropernic]]></dc:creator>
				<category><![CDATA[VB.NET]]></category>
		<category><![CDATA[app.config]]></category>
		<category><![CDATA[configuration]]></category>
		<category><![CDATA[dll]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/kropernic/?p=10</guid>
		<description><![CDATA[Bonjour, Pour ceux qui comme moi voudraient utiliser un fichier de configuration avec une dll pour, par exemple, stocker une chaîne de connexion à une base de données, voici la procédure à suivre. Premièrement, il faut bien sûr ajouter un fichier de configuration au projet et le nommer &#171;&#160;&#60;nom_du_projet&#62;.dll.config&#160;&#187;. Votre fichier devrait ressembler à ceci : Deuxièmement, il faut modifier les propriétés du fichier pour qu&#8217;il se copie dans le répertoire d&#8217;output du projet GUI. [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Bonjour,</p>
<p>Pour ceux qui comme moi voudraient utiliser un fichier de configuration avec une dll pour, par exemple, stocker une chaîne de connexion à une base de données, voici la procédure à suivre.<br />
<span id="more-10"></span><br />
Premièrement, il faut bien sûr ajouter un fichier de configuration au projet et le nommer &laquo;&nbsp;&lt;nom_du_projet&gt;.dll.config&nbsp;&raquo;.<br />
Votre fichier devrait ressembler à ceci :<br />
<a href="http://blog.developpez.com/kropernic/files/2013/06/app-config.png"><img src="http://blog.developpez.com/kropernic/files/2013/06/app-config-300x87.png" alt="app-config" width="300" height="150" class="alignnone size-medium wp-image-19" /></a></p>
<p>Deuxièmement, il faut modifier les propriétés du fichier pour qu&rsquo;il se copie dans le répertoire d&rsquo;output du projet GUI.<br />
<a href="http://blog.developpez.com/kropernic/files/2013/06/properties.png"><img src="http://blog.developpez.com/kropernic/files/2013/06/properties-300x54.png" alt="properties" width="300" height="54" class="alignnone size-medium wp-image-59" /></a><br />
N.B. : Il est à noté que C# et VB ne gère pas les solutions multi-projets de la même manière.  Il sera donc peut-être nécessaire de le copier manuellement.</p>
<p>Il faut maintenant ajouter la partie permettant de stocker la chaîne de connexion.<a href="http://blog.developpez.com/kropernic/files/2013/06/appSettings.png"><img src="http://blog.developpez.com/kropernic/files/2013/06/appSettings-300x98.png" alt="appSettings" width="300" height="98" class="alignnone size-medium wp-image-21" /></a></p>
<p>Jusque-là, rien de bien sorcier.  </p>
<p>And now, the tricky part ! (Et maintenant, la partie la plus délicate !)</p>
<p>Le problème est qu&rsquo;il n&rsquo;est pas possible d&rsquo;accéder aux informations placées dans ce fichier de configuration via <strong>My.Settings</strong>.<br />
Il faut donc ruser pour ouvrir ce fichier de configuration et accéder à la partie qui nous intéresse (car il pourrait contenir bien d&rsquo;autres choses que juste la chaîne de connexion).</p>
<p>Voici le code de la fonction que j&rsquo;utilise dans la classe de base de ma couche DAL.</p>
<div class="codecolorer-container vb.net mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br /></div></td><td><div class="vbnet codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; &nbsp; <span style="color: #FF8000;">Private</span> <span style="color: #FF8000;">Shared</span> <span style="color: #0600FF;">Function</span> CreateConnection<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span> <span style="color: #FF8000;">As</span> SqlConnection<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF;">Dim</span> cnx <span style="color: #FF8000;">As</span> <span style="color: #FF8000;">New</span> SqlConnection<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008080; font-style: italic;">'Open the configuration file using the dll location</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF;">Dim</span> myDllConfig <span style="color: #FF8000;">As</span> Configuration <span style="color: #008000;">=</span> ConfigurationManager.<span style="color: #0000FF;">OpenExeConfiguration</span><span style="color: #000000;">&#40;</span><span style="color: #FF8000;">Assembly</span>.<span style="color: #0000FF;">GetExecutingAssembly</span>.<span style="color: #0000FF;">Location</span><span style="color: #000000;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008080; font-style: italic;">' Get the appSettings section</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF;">Dim</span> myDllConfigAppSettings <span style="color: #FF8000;">As</span> AppSettingsSection <span style="color: #008000;">=</span> DirectCast<span style="color: #000000;">&#40;</span>myDllConfig.<span style="color: #0000FF;">GetSection</span><span style="color: #000000;">&#40;</span><span style="color: #808080;">&quot;appSettings&quot;</span><span style="color: #000000;">&#41;</span>, AppSettingsSection<span style="color: #000000;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008080; font-style: italic;">' return the desired field </span><br />
&nbsp; &nbsp; &nbsp; &nbsp; cnx.<span style="color: #0000FF;">ConnectionString</span> <span style="color: #008000;">=</span> myDllConfigAppSettings.<span style="color: #0000FF;">Settings</span><span style="color: #000000;">&#40;</span><span style="color: #808080;">&quot;MyConnectionString&quot;</span><span style="color: #000000;">&#41;</span>.<span style="color: #0000FF;">Value</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #FF8000;">Return</span> cnx<br />
&nbsp; &nbsp; <span style="color: #0600FF;">End</span> <span style="color: #0600FF;">Function</span></div></td></tr></tbody></table></div>
<p>En quelque mot, voici ce qu&rsquo;elle fait : </p>
<ul>
<li>instanciation de la connexion</li>
<li>ouverture du fichier de configuration</li>
<li>récupération de la bonne partie du fichier</li>
<li>affectation de la chaine de connexion</li>
<li>renvoi de la connexion</li>
</ul>
<p>Vous voilà maintenant capable d&rsquo;utiliser un fichier de configuration avec une dll.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
