<div dir="ltr">Thanks to the team for facing the heavy changes that were required to improve the compatibility of IronPython and DLR with projects that target .NET Framework 3.5. From Harry&#39;s account[1], we can see that it took a lot of smarts and guts to do.<br>
<br>
[1] <a href="http://devhawk.net/2008/09/17/DLR+Namespace+Change+Fire+Drill.aspx">http://devhawk.net/2008/09/17/DLR+Namespace+Change+Fire+Drill.aspx</a><br><br>Since that blog post hints that it should be possible to produce a native 3.5 version of IPy and DLR that wouldn&#39;t give that warning1685, I tried to follow the instructions:<br>
<br>&gt; If you&#39;re willing to compile from source yourself, it&#39;s fairly easy <br>&gt; to build a set of binaries for a specific version .NET that doesn&#39;t <br>&gt; have the warning. If you&#39;re building for v3.5, you need to remove <br>
&gt; Extension.cs from the three projects that have a copy of it <br>&gt; (Microsoft.Scripting.Core, Microsoft.Scripting, IronPython) and <br>&gt; add a reference to System.Core.dll.<br><br>Well, I tried that, and I didn&#39;t find it fairly easy. My attempt was like this:<br>
<br>1. Open IronPython.sln<br>2. Remove projects Chiron, IronPythonConsole, IronPythonTest, IronPythonWindow, Microsoft.Scripting.Silverlight<br>3. Change all 4 remaining projects to target Framework 3.5.<br>4. Clean and build the solution in release mode. Get errors like:<br>
* The referenced component &#39;System&#39; could not be found. &nbsp;&nbsp;&nbsp; <br>* The referenced component &#39;mscorlib&#39; could not be found. &nbsp;&nbsp;&nbsp; <br>* The referenced component &#39;System.Core&#39; could not be found. &nbsp;&nbsp;&nbsp; <br>
5. Remove all references that were not found and add them again.<br>6. Delete these files:<br>* IronPython\Extension.cs<br>* Microsoft.Scripting.Core\Utils\Extension.cs<br>* Microsoft.Scripting\Utils\Extension.cs<br>7. Get errors like:<br>
* Error&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp; &#39;StrongBox&#39; is an ambiguous reference between &#39;System.Runtime.CompilerServices.StrongBox&lt;bool&gt;&#39; and &#39;Microsoft.Runtime.CompilerServices.StrongBox&lt;bool&gt;&#39;<br>8. Replace all occurrences of StrongBox with Microsoft.Runtime.CompilerServices.StrongBox.<br>
9. Repeat for IStrongBox.<br>10. Get errors like:<br>* &#39;Func&#39; is an ambiguous reference between &#39;System.Func&lt;Microsoft.Scripting.Actions.CallSite,object,int&gt;&#39; and &#39;Microsoft.Func&lt;Microsoft.Scripting.Actions.CallSite,object,int&gt;&#39;<br>
11. Replace all occurrences of Func with Microsoft.Func.<br>12. Again the same for &#39;System.Action&#39; and &#39;Microsoft.Action&#39;.<br>13. Now all 4 projects compile for framework 3.5. I don&#39;t feel like deploying them, though, for fear of some side-efect of all those replacements.<br>
<br>If anyone can tell me where I made a mistake, I appreciate. <br><br>Cheers!<br><br></div>