<?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>artykul8 &#187; design</title>
	<atom:link href="http://artykul8.com/tag/design/feed/" rel="self" type="application/rss+xml" />
	<link>http://artykul8.com</link>
	<description>ar·tic·u·late (v.) to make clear or effective</description>
	<lastBuildDate>Thu, 22 Jul 2010 16:03:50 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>System.Configuration Namespace and Obsolete Functions</title>
		<link>http://artykul8.com/2009/12/system-configuration-namespace-and-obsolete-functions/</link>
		<comments>http://artykul8.com/2009/12/system-configuration-namespace-and-obsolete-functions/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 04:00:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[framework]]></category>

		<guid isPermaLink="false">http://artykul8.com/?p=151</guid>
		<description><![CDATA[&#8216;What Really Grinds My Gears&#8217; (WRGMG) topic of the month:
Have you ever wondered why after adding System.Configuration namespace reference you see a link to System.configuration assembly (note a small &#8216;c&#8217; instead of the capital one)?
And why calling obsolete functions in order to access your AppSettings through System.Configuration.ConfigurationSettings.AppSettings["myKey"] doesn&#8217;t require you adding any additional references, but [...]]]></description>
			<content:encoded><![CDATA[<p>&#8216;What Really Grinds My Gears&#8217; (WRGMG) topic of the month:</p>
<p>Have you ever wondered why after adding System.Configuration namespace reference you see a link to System.configuration assembly (note a small &#8216;c&#8217; instead of the capital one)?</p>
<p>And why calling obsolete functions in order to access your AppSettings through <code>System.Configuration.ConfigurationSettings.AppSettings["myKey"]</code> doesn&#8217;t require you adding any additional references, but using <code>System.Configuration.ConfigurationManager.AppSettings["myKey"]</code> requires you going to the project&#8217;s Add Reference dialog and adding System.Configuration explicitly?</p>
<p>The reason for that is unfortunately somewhat poor framework design, in particular backward compatibility implementation. In .NET versions starting from 2.0, class <strong>System.Configuration.ConfigurationSettings</strong> is actually stored in System.dll, and is basically a stub pointing to <strong>System.Configuration.ConfigurationManager</strong>, which exists in System.configuration.dll (note again small &#8216;c&#8217;).</p>
<p>Here is a good explanation in one of the older blog posts <a href="http://geekswithblogs.net/jbentley/archive/2005/07/03/45320.aspx">System.configuration</a>.</p>
<p>However, as always the ultimate reference is good ole&#8217; Reflector, which allows you to find exactly where each class is stored, and to peek inside implementation details. Such as delegated calls from deprecated stub class ConfigurationSettings (System.dll) to the new ConfigurationManager (System.configuration.dll).</p>
<p><a href="http://artykul8.com/media/2009/08/ArmyOfOne.jpg"><img src="http://artykul8.com/media/2009/08/ArmyOfOne-236x450.jpg" alt="Army of One" title="ArmyOfOne" width="236" height="450" class="size-medium wp-image-134" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://artykul8.com/2009/12/system-configuration-namespace-and-obsolete-functions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
