<?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>Assembly Identity</title><link>http://blogs.msdn.com/suzcook/archive/2003/07/21/assembly-identity.aspx</link><description>There are two types of assembly identity that the loader deals with: bind-time and after bind-time. The identity is used to determine whether we will consider a certain assembly to be the same thing as an assembly reference or another assembly. Assembly</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>RE: Assembly Identity</title><link>http://blogs.msdn.com/suzcook/archive/2003/07/21/assembly-identity.aspx#57233</link><pubDate>Tue, 04 Nov 2003 21:53:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:57233</guid><dc:creator>Yiru Tang</dc:creator><description>If I load one assembly through 
Assembly.LoadFrom(path)
And load another assembly in a different appDomain also use LoadFrom(path) (through CreateInstanceFrom actually, but the assembly is from same path). 
Should the two assembly be considered the same? Seems they are not considered same now.
However if I use Load Context in different appdomains, the loaded assembly are considered the same.</description></item><item><title>RE: Assembly Identity</title><link>http://blogs.msdn.com/suzcook/archive/2003/07/21/assembly-identity.aspx#57234</link><pubDate>Sun, 09 Nov 2003 03:25:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:57234</guid><dc:creator>Suzanne</dc:creator><description>For identity purposes, identical assemblies in different appdomains are by definition not &amp;quot;the same&amp;quot; as each other. They are not directly comparable to each other. When we do compare them, the comparison happens in only one appdomain, and the assembly that's not already there will be reloaded into it. At that point, their paths would be compared.

It sounds like when you count them as being &amp;quot;the same,&amp;quot; you really mean that it's being loaded as domain neutral. The behavior you described is expected - assemblies loaded in the LoadFrom context are not loaded as domain neutral.</description></item><item><title>re: When to Change File/Assembly Versions</title><link>http://blogs.msdn.com/suzcook/archive/2003/07/21/assembly-identity.aspx#64163</link><pubDate>Thu, 29 Jan 2004 04:36:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:64163</guid><dc:creator>Suzanne Cook's .NET CLR Loader Notes</dc:creator><description /></item><item><title>LoadFile vs. LoadFrom</title><link>http://blogs.msdn.com/suzcook/archive/2003/07/21/assembly-identity.aspx#72762</link><pubDate>Sat, 14 Feb 2004 03:41:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:72762</guid><dc:creator>Suzanne Cook's .NET CLR Loader Notes</dc:creator><description /></item><item><title>AssemblyResolve Event</title><link>http://blogs.msdn.com/suzcook/archive/2003/07/21/assembly-identity.aspx#119590</link><pubDate>Sun, 25 Apr 2004 00:32:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:119590</guid><dc:creator>Junfeng Zhang's .Net Framework Notes</dc:creator><description /></item><item><title>re: Assembly Identity</title><link>http://blogs.msdn.com/suzcook/archive/2003/07/21/assembly-identity.aspx#121775</link><pubDate>Wed, 28 Apr 2004 04:14:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:121775</guid><dc:creator>Richard</dc:creator><description>I am having trouble loading an assembly from an appdomain when the exe is unmanaged and call's my dll through com.&lt;br&gt;&lt;br&gt;c:\app\app.exe&lt;br&gt;&lt;br&gt;My dll is found and loaded:&lt;br&gt;&lt;br&gt;c:\myapp\mydll.dll&lt;br&gt;&lt;br&gt;But my dll references another dll:&lt;br&gt;&lt;br&gt;c:\myapp\thirdParty.dll&lt;br&gt;&lt;br&gt;Fusion says that it is looking for the both dll's in c:\app, but mydll.dll is found and the thirdParty.dll throws a fileNotFound Exception.  Both have strong names and reside in the GAC.&lt;br&gt;&lt;br&gt;First, how is my dll still loaded and more importantly, why is the third party dll not. This only occurs when installed on a client machine? Any ideas. Should I use Assembly.Load and manually load? Thanks.</description></item><item><title>re: Assembly Identity</title><link>http://blogs.msdn.com/suzcook/archive/2003/07/21/assembly-identity.aspx#122537</link><pubDate>Wed, 28 Apr 2004 23:46:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:122537</guid><dc:creator>Suzanne</dc:creator><description>It sounds like, in the failure case, the Fusion log says that it is probing the application base for the third party dll. That means that it was not found in the GAC. Call &amp;quot;gacutil /l thirdParty&amp;quot; from the failing environment and make sure that the assembly with the exact same, post-policy display name as listed in the Fusion log is in the GAC.</description></item><item><title>re: Assembly Identity</title><link>http://blogs.msdn.com/suzcook/archive/2003/07/21/assembly-identity.aspx#123848</link><pubDate>Fri, 30 Apr 2004 14:37:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:123848</guid><dc:creator>Richard</dc:creator><description>Your correct. I used installshield to ngen the assembly and it did show up in the assembly folder in windows, but using gacutil /l shows that it is ngen'd in the cahce but not in the GAC. I assumed that the two where the same, but apparently they aren't. &lt;br&gt;&lt;br&gt;To solve the problem I'll attempt to get installshield to put it in the GAC and see if that resolves the problem. &lt;br&gt;&lt;br&gt;Thanks.</description></item><item><title>Unloading Assemblies from an appDomain and IsolatedStorage paths.</title><link>http://blogs.msdn.com/suzcook/archive/2003/07/21/assembly-identity.aspx#145230</link><pubDate>Tue, 01 Jun 2004 09:06:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:145230</guid><dc:creator>ShowUsYour</dc:creator><description /></item><item><title>Debugging an InvalidCastException</title><link>http://blogs.msdn.com/suzcook/archive/2003/07/21/assembly-identity.aspx#147200</link><pubDate>Thu, 03 Jun 2004 05:05:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:147200</guid><dc:creator>Suzanne Cook's .NET CLR Loader Notes</dc:creator><description /></item><item><title>re: Assembly Identity</title><link>http://blogs.msdn.com/suzcook/archive/2003/07/21/assembly-identity.aspx#663079</link><pubDate>Wed, 12 Jul 2006 10:41:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:663079</guid><dc:creator>Dave Friedel</dc:creator><description>Thank you sooo much. &amp;nbsp;&lt;br&gt;&lt;br&gt;I seriously feel that if the 2 identical assemblies with strong-names (only located in different directories) should be allowed to load without causing a type-mismatch of objects created and exhanged between - since they are strong-named to say they are the same. &amp;nbsp;&lt;br&gt;&lt;br&gt;But as it goes, it caused me to pull un-necessary hair out when moving to strong-name - when I felt the files were (and are) identical. &amp;nbsp;I would very much like them to add a property to allow this to happen (when the files are identical with strong names - since it functions without strong names)&lt;br&gt;&lt;br&gt;regards,&lt;br&gt;Dave&lt;br&gt;&lt;br&gt;p.s. thank you again.</description></item><item><title>Debugging a .NET InvalidCastException</title><link>http://blogs.msdn.com/suzcook/archive/2003/07/21/assembly-identity.aspx#701908</link><pubDate>Wed, 16 Aug 2006 05:07:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:701908</guid><dc:creator>Stale DNA - all things Cappy Popp</dc:creator><description>Thanks to Suzanne Cook for this one. &amp;amp;amp;quot;First, obviously, find the two types for which the cast failed,</description></item><item><title>Debugging an InvalidCastException</title><link>http://blogs.msdn.com/suzcook/archive/2003/07/21/assembly-identity.aspx#2105103</link><pubDate>Fri, 13 Apr 2007 01:50:56 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2105103</guid><dc:creator>Suzanne Cook's .NET CLR Notes</dc:creator><description>&lt;p&gt;First, obviously, find the two types for which the cast failed and verify that they are the same type&lt;/p&gt;
</description></item><item><title>LoadFile vs. LoadFrom</title><link>http://blogs.msdn.com/suzcook/archive/2003/07/21/assembly-identity.aspx#2105309</link><pubDate>Fri, 13 Apr 2007 02:04:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2105309</guid><dc:creator>Suzanne Cook's .NET CLR Notes</dc:creator><description>&lt;p&gt;Be careful - these aren't the same thing. LoadFrom() goes through Fusion and can be redirected to another&lt;/p&gt;
</description></item><item><title>re: Assembly Identity</title><link>http://blogs.msdn.com/suzcook/archive/2003/07/21/assembly-identity.aspx#2287833</link><pubDate>Thu, 26 Apr 2007 19:15:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2287833</guid><dc:creator>Stephen Gyves</dc:creator><description>&lt;P&gt;I am trying to create an assembly comparer. I already have created objects to hold information about assemblies, types, enums...etc. So once I ahve collected information about the assembly, I don;t need it anymore to perform the comparison. Trouble is this, I have to find a way to compare assemblies even if the SAY they are the same version. How can I safely retrieve infromation from both assemblies?&lt;/P&gt;</description></item><item><title>re: Assembly Identity</title><link>http://blogs.msdn.com/suzcook/archive/2003/07/21/assembly-identity.aspx#6635790</link><pubDate>Sun, 02 Dec 2007 01:36:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6635790</guid><dc:creator>El Guapo</dc:creator><description>&lt;p&gt;Stephen, check out an assembly comparison tool called BitDiffer. It can compare assemblies with identical identities...&lt;/p&gt;</description></item></channel></rss>