<?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>Ryan's Obligatory Blog &#187; ILMerge</title>
	<atom:link href="http://blog.ryanwheeler.co.uk/tag/ilmerge/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.ryanwheeler.co.uk</link>
	<description>Random thoughts, SharePoint and the software business...</description>
	<lastBuildDate>Tue, 13 Jul 2010 11:16:42 +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>ILMerge /targetplatform:v1.1 and Vista x64</title>
		<link>http://blog.ryanwheeler.co.uk/2009/01/ilmerge-targetplatformv11-and-vista-x64/</link>
		<comments>http://blog.ryanwheeler.co.uk/2009/01/ilmerge-targetplatformv11-and-vista-x64/#comments</comments>
		<pubDate>Wed, 07 Jan 2009 20:11:47 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[ILMerge]]></category>

		<guid isPermaLink="false">http://blog.ryanwheeler.co.uk/?p=34</guid>
		<description><![CDATA[ILMerge is an invaluable tool from Michael Barnett at Microsoft Research that can merge multiple assemblies together into a single assembly.
ILMerge can output .NET 2.0 or .NET 1.1 assemblies by using the /targetplatform:v1.1 switch.
At the time of writing v2.8.0626 (26th June 08) has a little problem when targeting .NET 1.1 and running on 64bit Vista.
In [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.microsoft.com/downloads/details.aspx?familyid=22914587-b4ad-4eae-87cf-b14ae6a939b0&amp;displaylang=en" target="_blank">ILMerge</a> is an invaluable tool from <a href="http://research.microsoft.com/en-us/people/mbarnett/">Michael Barnett</a> at Microsoft Research that can merge multiple assemblies together into a single assembly.</p>
<p>ILMerge can output .NET 2.0 or .NET 1.1 assemblies by using the /targetplatform:v1.1 switch.</p>
<p>At the time of writing v2.8.0626 (26th June 08) has a little problem when targeting .NET 1.1 and running on 64bit Vista.</p>
<p>In the log files you see this when running on x86</p>
<pre>Set platform to 'v1.1', using directory</pre>
<pre>'C:\Windows\Microsoft.NET\Framework\v2.0.50727\..\v1.1.4322' for mscorlib.dll</pre>
<p>But on x64</p>
<pre>Set platform to 'v1.1', using directory</pre>
<pre>'C:\Windows\Microsoft.NET\Framework64\v2.0.50727\..\v1.1.4322'</pre>
<pre>for mscorlib.dll</pre>
<p>But there is no such dir &#8211; .NET 1.1 is only 32bit (though obviously it runs on x64 systems) and the correct dir is</p>
<p>C:\Windows\Microsoft.NET\Framework\v1.1.4322</p>
<p>As a result you will see the following in the log file.</p>
<pre>AssemblyResolver: Assembly 'System.Web' is referencing assembly 'System'.</pre>
<pre>AssemblyResolver: Attempting referencing assembly's directory.</pre>
<pre>AssemblyResolver: Did not find assembly in referencing assembly's directory.</pre>
<pre>AssemblyResolver: Attempting input directory.</pre>
<pre>AssemblyResolver: Did not find assembly in input directory.</pre>
<pre>AssemblyResolver: Attempting user-supplied directories.</pre>
<pre>AssemblyResolver: Did not find assembly in user-supplied directories.</pre>
<pre>....</pre>
<pre>Could not resolve type reference: [mscorlib]System.Enum.</pre>
<pre>Could not resolve type reference: [mscorlib]System.ValueType.</pre>
<pre>Could not resolve type reference: [mscorlib]System.Object.</pre>
<pre>Could not resolve type reference: [mscorlib]System.IDisposable.</pre>
<pre>....</pre>
<pre>(Missed out a few hundred lines referencing all other mscorlib etc namespaces)</pre>
<pre>ILMerge: Done.</pre>
<p>And although it reports done and does not return an error code you will get assembly loading errors.<br />
Workaround</p>
<p>Add a <a href="http://en.wikipedia.org/wiki/NTFS_symbolic_link" target="_blank">symlink</a> (a sort of low level shortcut) directing ILMerge to the correct directory.</p>
<pre>MKLINK /D C:\Windows\Microsoft.NET\Framework64\v1.1.4322</pre>
<pre>C:\Windows\Microsoft.NET\Framework\v1.1.4322</pre>
 <img src="http://blog.ryanwheeler.co.uk/wp-content/plugins/feed-statistics.php?view=1&post_id=34" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.ryanwheeler.co.uk/2009/01/ilmerge-targetplatformv11-and-vista-x64/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
