<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Avoid Partial Binds</title><link>http://blogs.msdn.com/suzcook/archive/2003/05/30/avoid-partial-binds.aspx</link><description>A partial bind is when only part of the assembly display name is given when loading an assembly. Assembly.LoadWithPartialName() also uses partial binding. First, it calls Assembly.Load(). But, if that fails to find the assembly, it will return the latest</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Avoid DevPath</title><link>http://blogs.msdn.com/suzcook/archive/2003/05/30/avoid-partial-binds.aspx#72766</link><pubDate>Sat, 14 Feb 2004 03:43:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:72766</guid><dc:creator>Suzanne Cook's .NET CLR Loader Notes</dc:creator><description /></item><item><title>Assembly Identity</title><link>http://blogs.msdn.com/suzcook/archive/2003/05/30/avoid-partial-binds.aspx#72780</link><pubDate>Sat, 14 Feb 2004 03:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:72780</guid><dc:creator>Suzanne Cook's .NET CLR Loader Notes</dc:creator><description /></item><item><title>re: LoadFile vs. LoadFrom</title><link>http://blogs.msdn.com/suzcook/archive/2003/05/30/avoid-partial-binds.aspx#75780</link><pubDate>Wed, 18 Feb 2004 23:56:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:75780</guid><dc:creator>Suzanne Cook's .NET CLR Loader Notes</dc:creator><description /></item><item><title>re: Avoid Partial Binds</title><link>http://blogs.msdn.com/suzcook/archive/2003/05/30/avoid-partial-binds.aspx#518251</link><pubDate>Fri, 27 Jan 2006 13:21:27 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:518251</guid><dc:creator>Adam M.</dc:creator><description>What if you just want to load something simple like System.Drawing.dll? And if you did want to avoid partial binding, how would you get System.Drawing's full name anyway?</description></item><item><title>re: Avoid Partial Binds</title><link>http://blogs.msdn.com/suzcook/archive/2003/05/30/avoid-partial-binds.aspx#518253</link><pubDate>Fri, 27 Jan 2006 13:31:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:518253</guid><dc:creator>Adam M.</dc:creator><description>Err, I know you can look in the GAC by hand and get the latest name, but I was wondering about how to look programmatically.&lt;br&gt;&lt;br&gt;But I guess even that's not a good idea, since loading one from the GAC has the same downside as using LoadWithPartialName().&lt;br&gt;&lt;br&gt;So never mind that question...&lt;br&gt;&lt;br&gt;But it still seems like it's less likely to cause problems by simply loading the most recent version of System.dll or System.Drawing.dll, say, rather than having an application fail if it's executed on a later version of the .NET runtime with a different set of DLLs.&lt;br&gt;&lt;br&gt;That is, the chance of a breaking change in the .NET Framework core classes seems much lower than the chance of a new version of the runtime being released at some point in the future...</description></item><item><title>re: Avoid Partial Binds System.Drawing.dll</title><link>http://blogs.msdn.com/suzcook/archive/2003/05/30/avoid-partial-binds.aspx#536906</link><pubDate>Wed, 22 Feb 2006 17:27:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:536906</guid><dc:creator>Bryan M.</dc:creator><description>Actually I have had just loading the latest version of System.Drawing.dll cause me to have a very confusing problem. &amp;nbsp;I got an InvalidCastException casting from System.Drawing.Color to System.Drawing.Color that is becuase they were different versions of System.Drawing.Color the one was the 1.0 version which our product was using at the time and the other was the 1.1 version which was loaded when using a partial name.</description></item><item><title>Avoid DevPath</title><link>http://blogs.msdn.com/suzcook/archive/2003/05/30/avoid-partial-binds.aspx#2105371</link><pubDate>Fri, 13 Apr 2007 02:08:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2105371</guid><dc:creator>Suzanne Cook's .NET CLR Notes</dc:creator><description>&lt;p&gt;I hesitate to talk about this because I don't want people who don't know about it to think, &amp;quot;Hey, what's&lt;/p&gt;
</description></item><item><title>Assembly Identity</title><link>http://blogs.msdn.com/suzcook/archive/2003/05/30/avoid-partial-binds.aspx#2106212</link><pubDate>Fri, 13 Apr 2007 03:12:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2106212</guid><dc:creator>Suzanne Cook's .NET CLR Notes</dc:creator><description>&lt;p&gt;There are two types of assembly identity that the loader deals with: bind-time and after bind-time. The&lt;/p&gt;
</description></item><item><title>re: Avoid Partial Binds</title><link>http://blogs.msdn.com/suzcook/archive/2003/05/30/avoid-partial-binds.aspx#4032443</link><pubDate>Tue, 24 Jul 2007 22:06:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4032443</guid><dc:creator>Bruce F</dc:creator><description>&lt;P&gt;OK - here's my scenario.&lt;/P&gt;
&lt;P&gt;I'm developing something which works against Microsoft.Web.Administration, and since that is only in Vista and soon to be Win 2008, I can't compile it on XP unless I use late binding. &amp;nbsp;I could hard wire the particular version, or load from a particular directory, but that would result in a dll hell of its own. &amp;nbsp;I simply want to get the latest version of Microsoft.Web.Administration.dll out of the GAC and it seems like LoadWithPartialName is exactly what I want to do. &amp;nbsp;I don't want my code breaking just because someone put out an update to the dll.&lt;/P&gt;</description></item><item><title>re: Avoid Partial Binds</title><link>http://blogs.msdn.com/suzcook/archive/2003/05/30/avoid-partial-binds.aspx#6266281</link><pubDate>Thu, 15 Nov 2007 19:21:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6266281</guid><dc:creator>The Megalomaniac</dc:creator><description>&lt;P&gt;So we're switching our code over from .NET 1 to 2 and I'm having trouble with this scenario. We have a plugin architecture with the plugin assemblies (about 200) are located in the GAC. &lt;/P&gt;
&lt;P&gt;The user specificies a name and we calculate the corresponding assembly name and load it from the GAC using LoadWithPartialName. We are guaranteed that we don't care about the version since we have a defined interface. Also it is impossible to keep all the assembly versions of the plugins in sync since there are bugfixes, new versions etc.&lt;/P&gt;
&lt;P&gt;Now without coding up a mapping to the fully qualified name and updating it for every plugin change, how do I continue supporting this code ? The architecture that places plugins in the GAC is a possible issue but I don't control it.&lt;/P&gt;
&lt;P&gt;Any suggestions ?&lt;/P&gt;</description></item><item><title>re: Avoid Partial Binds</title><link>http://blogs.msdn.com/suzcook/archive/2003/05/30/avoid-partial-binds.aspx#7051008</link><pubDate>Thu, 10 Jan 2008 09:41:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7051008</guid><dc:creator>kkv</dc:creator><description>&lt;P&gt;I have developed an application which uses Excel as user interface. So while deploying in another machine I need to put the Dlls in GAC as it is not possible to put the Interop office dlls in private assembly. So I need to use only LoadWithPArtialName(). Wat should I do in this case&lt;/P&gt;</description></item><item><title>re: Avoid Partial Binds</title><link>http://blogs.msdn.com/suzcook/archive/2003/05/30/avoid-partial-binds.aspx#8958781</link><pubDate>Fri, 19 Sep 2008 17:19:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8958781</guid><dc:creator>pierre</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I am scripting in powershell, and in order to be able to use AD HOC dotnet assemblies, without having to install a PS Snapin, it is very handy to use loadwithpartialname. &lt;/p&gt;
&lt;p&gt;The point is here to be able to do something with about one line of code (it is called a &amp;quot;oneliner&amp;quot;), this is quick and dirty and not intended to be maintained watsoever, since the command line is immediately thrown away!&lt;/p&gt;
&lt;p&gt;I keep using LoadWithPartialName, as the reasons invoked hereabove do not fit in my context (interactive oneliner commands at console)&lt;/p&gt;</description></item><item><title>re: Avoid Partial Binds</title><link>http://blogs.msdn.com/suzcook/archive/2003/05/30/avoid-partial-binds.aspx#9904420</link><pubDate>Wed, 07 Oct 2009 19:05:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9904420</guid><dc:creator>Charlie</dc:creator><description>&lt;p&gt;I am in the same situation with The megalomaniac and kkv. &amp;nbsp;What is the best practice for such situations, especially as time passes and the user has newer versions of Microsoft.Office.InterOp.Outlook?&lt;/p&gt;</description></item></channel></rss>