<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: .NET Assembly FAQ &#8211; Part 3 &#8211; Strong Names and Signing</title>
	<atom:link href="http://www.csharp411.com/net-assembly-faq-part-3-strong-names-and-signing/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.csharp411.com/net-assembly-faq-part-3-strong-names-and-signing/</link>
	<description>C# Development</description>
	<lastBuildDate>Fri, 03 Feb 2012 11:14:43 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Christine Murphy</title>
		<link>http://www.csharp411.com/net-assembly-faq-part-3-strong-names-and-signing/#comment-166</link>
		<dc:creator>Christine Murphy</dc:creator>
		<pubDate>Fri, 12 Aug 2011 19:04:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.mini-tools.com/at2/csharp/wordpress/net-assembly-faq-part-3-strong-names-and-signing/#comment-166</guid>
		<description>Richard,

Did you ever get an answer to your question?</description>
		<content:encoded><![CDATA[<p>Richard,</p>
<p>Did you ever get an answer to your question?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: fiddly</title>
		<link>http://www.csharp411.com/net-assembly-faq-part-3-strong-names-and-signing/#comment-165</link>
		<dc:creator>fiddly</dc:creator>
		<pubDate>Fri, 11 Mar 2011 01:19:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.mini-tools.com/at2/csharp/wordpress/net-assembly-faq-part-3-strong-names-and-signing/#comment-165</guid>
		<description>@Richard Sima: excellent find. Let&#039;s hope that timm finds the time to answer this..</description>
		<content:encoded><![CDATA[<p>@Richard Sima: excellent find. Let&#8217;s hope that timm finds the time to answer this..</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pygy</title>
		<link>http://www.csharp411.com/net-assembly-faq-part-3-strong-names-and-signing/#comment-164</link>
		<dc:creator>Pygy</dc:creator>
		<pubDate>Tue, 01 Feb 2011 18:43:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.mini-tools.com/at2/csharp/wordpress/net-assembly-faq-part-3-strong-names-and-signing/#comment-164</guid>
		<description>You are a treasure - thanks for the guidance</description>
		<content:encoded><![CDATA[<p>You are a treasure &#8211; thanks for the guidance</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: timm</title>
		<link>http://www.csharp411.com/net-assembly-faq-part-3-strong-names-and-signing/#comment-163</link>
		<dc:creator>timm</dc:creator>
		<pubDate>Tue, 18 Jan 2011 18:09:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.mini-tools.com/at2/csharp/wordpress/net-assembly-faq-part-3-strong-names-and-signing/#comment-163</guid>
		<description>@Archer: Links fixed, thanks for the tip!</description>
		<content:encoded><![CDATA[<p>@Archer: Links fixed, thanks for the tip!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Archer</title>
		<link>http://www.csharp411.com/net-assembly-faq-part-3-strong-names-and-signing/#comment-162</link>
		<dc:creator>Archer</dc:creator>
		<pubDate>Tue, 18 Jan 2011 17:06:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.mini-tools.com/at2/csharp/wordpress/net-assembly-faq-part-3-strong-names-and-signing/#comment-162</guid>
		<description>I can&#039;t access parts 1, 2 &amp; 4 of this series.  Please fix.</description>
		<content:encoded><![CDATA[<p>I can&#8217;t access parts 1, 2 &amp; 4 of this series.  Please fix.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Richard Sima</title>
		<link>http://www.csharp411.com/net-assembly-faq-part-3-strong-names-and-signing/#comment-161</link>
		<dc:creator>Richard Sima</dc:creator>
		<pubDate>Tue, 21 Dec 2010 08:17:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.mini-tools.com/at2/csharp/wordpress/net-assembly-faq-part-3-strong-names-and-signing/#comment-161</guid>
		<description>Thank you the articles. They are very helpful.

I believe that the sentence &quot;Because assemblies are verified when they are first installed into the GAC–and they cannot be modified while in the GAC&quot; is true. But my experience tells it is not. So, I&#039;m searching what I have missed. There are steps to reproduce (VS 2005 with some SPs, Win XP SP3):

1. Create the first solution with MyApp, MyDLL. The DLL will contain a method returning a string &quot;correct DLL&quot;. MyApp&#039;s main will call the method and will display the result.

2. Sign both project by project&#039;s properties on &quot;Signing&quot; tab with key file MyKey.pfx. The pfx file is listed in the solution tree.

3. Create the second solution on different location MyDLL (to ensure the same name of DLL). The DLL will contain the same method as above, but returning a string &quot;hacked DLL&quot;.

4. Build the first solution. Result is that both MyApp.exe and MyDLL.dll are located in the directory Release. Run MyApp - result is expected: &quot;correct DLL&quot; message.

5. Build the second solution. Copy the hacked MyDLL.dll to the Release directory of MyApp. Run MyApp - result is expected:

Unhandled Exception: System.IO.FileLoadException: Could not load file or assembly &#039;MyDLL, Version=1.0.0.0, Culture=neutral, PublicKeyToken=a796f58fb87e0486&#039; or one of its dependencies. The located assembly&#039;s manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
File name: &#039;MyDLL, Version=1.0.0.0, Culture=neutral, PublicKeyToken=a796f58fb87e
0486&#039;
   at MyApp.Program.Main(String[] args)

At this point is everything OK. But there is no GAC. So, I have continued.

6. Rebuild the first solution again. Register MyDLL.dll to GAC (C:Program FilesMicrosoft Visual Studio 8SDKv2.0Bingacutil.exe /if MyDLL.dll). Remove MyDLL.dll from the Release directory of MyApp. Run MyApp - result is expected: &quot;correct DLL&quot; message.

It is still OK.

7. Use a file manager (Total Commander, Servant Salamander, etc., but NO WINDOWS EXPLORER) and navigate to the GAC directory, in my case to c:WINDOWSassemblyGAC_MSILMyDLL1.0.0.0__a796f58fb87e0486. Replace MyDLL.dll by the hacked version. Run MyApp - result IS NOT expected: &quot;hacked DLL&quot; message.

Please, what I have missed?

Thank you for any response,

Richard

PS: Yes, I&#039;m in the local Administrators group.</description>
		<content:encoded><![CDATA[<p>Thank you the articles. They are very helpful.</p>
<p>I believe that the sentence &#8220;Because assemblies are verified when they are first installed into the GAC–and they cannot be modified while in the GAC&#8221; is true. But my experience tells it is not. So, I&#8217;m searching what I have missed. There are steps to reproduce (VS 2005 with some SPs, Win XP SP3):</p>
<p>1. Create the first solution with MyApp, MyDLL. The DLL will contain a method returning a string &#8220;correct DLL&#8221;. MyApp&#8217;s main will call the method and will display the result.</p>
<p>2. Sign both project by project&#8217;s properties on &#8220;Signing&#8221; tab with key file MyKey.pfx. The pfx file is listed in the solution tree.</p>
<p>3. Create the second solution on different location MyDLL (to ensure the same name of DLL). The DLL will contain the same method as above, but returning a string &#8220;hacked DLL&#8221;.</p>
<p>4. Build the first solution. Result is that both MyApp.exe and MyDLL.dll are located in the directory Release. Run MyApp &#8211; result is expected: &#8220;correct DLL&#8221; message.</p>
<p>5. Build the second solution. Copy the hacked MyDLL.dll to the Release directory of MyApp. Run MyApp &#8211; result is expected:</p>
<p>Unhandled Exception: System.IO.FileLoadException: Could not load file or assembly &#8216;MyDLL, Version=1.0.0.0, Culture=neutral, PublicKeyToken=a796f58fb87e0486&#8242; or one of its dependencies. The located assembly&#8217;s manifest definition does not match the assembly reference. (Exception from HRESULT: 0&#215;80131040)<br />
File name: &#8216;MyDLL, Version=1.0.0.0, Culture=neutral, PublicKeyToken=a796f58fb87e<br />
0486&#8242;<br />
   at MyApp.Program.Main(String[] args)</p>
<p>At this point is everything OK. But there is no GAC. So, I have continued.</p>
<p>6. Rebuild the first solution again. Register MyDLL.dll to GAC (C:Program FilesMicrosoft Visual Studio 8SDKv2.0Bingacutil.exe /if MyDLL.dll). Remove MyDLL.dll from the Release directory of MyApp. Run MyApp &#8211; result is expected: &#8220;correct DLL&#8221; message.</p>
<p>It is still OK.</p>
<p>7. Use a file manager (Total Commander, Servant Salamander, etc., but NO WINDOWS EXPLORER) and navigate to the GAC directory, in my case to c:WINDOWSassemblyGAC_MSILMyDLL1.0.0.0__a796f58fb87e0486. Replace MyDLL.dll by the hacked version. Run MyApp &#8211; result IS NOT expected: &#8220;hacked DLL&#8221; message.</p>
<p>Please, what I have missed?</p>
<p>Thank you for any response,</p>
<p>Richard</p>
<p>PS: Yes, I&#8217;m in the local Administrators group.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: best buy backup exec</title>
		<link>http://www.csharp411.com/net-assembly-faq-part-3-strong-names-and-signing/#comment-160</link>
		<dc:creator>best buy backup exec</dc:creator>
		<pubDate>Thu, 04 Nov 2010 00:57:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.mini-tools.com/at2/csharp/wordpress/net-assembly-faq-part-3-strong-names-and-signing/#comment-160</guid>
		<description>Wonderful guidance. &lt;a href=&quot;http://websearch.about.com/od/freefilehostingsites/p/filedropper.htm&quot; rel=&quot;nofollow&quot;&gt;Upload files&lt;/a&gt; to file hosting sites to share them with someone without cost.</description>
		<content:encoded><![CDATA[<p>Wonderful guidance. <a href="http://websearch.about.com/od/freefilehostingsites/p/filedropper.htm" rel="nofollow">Upload files</a> to file hosting sites to share them with someone without cost.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: best server backup program</title>
		<link>http://www.csharp411.com/net-assembly-faq-part-3-strong-names-and-signing/#comment-159</link>
		<dc:creator>best server backup program</dc:creator>
		<pubDate>Thu, 04 Nov 2010 00:46:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.mini-tools.com/at2/csharp/wordpress/net-assembly-faq-part-3-strong-names-and-signing/#comment-159</guid>
		<description>Remarkable guidance. &lt;a href=&quot;http://websearch.about.com/od/freefilehostingsites/p/filedropper.htm&quot; rel=&quot;nofollow&quot;&gt;Upload files&lt;/a&gt; to file hosting internet sites to share them with virtually anyone completely free.</description>
		<content:encoded><![CDATA[<p>Remarkable guidance. <a href="http://websearch.about.com/od/freefilehostingsites/p/filedropper.htm" rel="nofollow">Upload files</a> to file hosting internet sites to share them with virtually anyone completely free.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Where to Find SN.exe : C# 411</title>
		<link>http://www.csharp411.com/net-assembly-faq-part-3-strong-names-and-signing/#comment-158</link>
		<dc:creator>Where to Find SN.exe : C# 411</dc:creator>
		<pubDate>Mon, 11 Oct 2010 20:33:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.mini-tools.com/at2/csharp/wordpress/net-assembly-faq-part-3-strong-names-and-signing/#comment-158</guid>
		<description>[...] to Find SN.exe Posted by timm No Comments &#187;      SN.exe is a Strong Name tool that can sign assemblies, manage strong name keys, and generate and verify signatures.&#160; You will typically find it [...] </description>
		<content:encoded><![CDATA[<p>[...] to Find SN.exe Posted by timm No Comments &#187;      SN.exe is a Strong Name tool that can sign assemblies, manage strong name keys, and generate and verify signatures.&#160; You will typically find it [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Amit Tank</title>
		<link>http://www.csharp411.com/net-assembly-faq-part-3-strong-names-and-signing/#comment-157</link>
		<dc:creator>Amit Tank</dc:creator>
		<pubDate>Mon, 04 Oct 2010 07:47:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.mini-tools.com/at2/csharp/wordpress/net-assembly-faq-part-3-strong-names-and-signing/#comment-157</guid>
		<description>Really Very Informative,

But I have Confused with this that If I know the password then what I have to do for use that dll in another Project

Thank You.
Amit Tank</description>
		<content:encoded><![CDATA[<p>Really Very Informative,</p>
<p>But I have Confused with this that If I know the password then what I have to do for use that dll in another Project</p>
<p>Thank You.<br />
Amit Tank</p>
]]></content:encoded>
	</item>
</channel>
</rss>

