<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 12 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
span.EmailStyle20
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle21
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle22
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle23
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle24
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='color:#1F497D'>Please remove me from your mailing list. <o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>Thank you. <o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p>&nbsp;</o:p></span></p><div><p class=MsoNormal><b><span style='font-size:14.0pt;color:#1F497D'><o:p>&nbsp;</o:p></span></b></p><p class=MsoNormal><b><span style='font-size:14.0pt;color:#1F497D'><o:p>&nbsp;</o:p></span></b></p><p class=MsoNormal><b><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:#404040'>Wendy Watts </span></b><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:black'><o:p></o:p></span></p><p class=MsoNormal><i><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:#404040'>IT Recruiter</span></i><i><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:black'> <o:p></o:p></span></i></p><p class=MsoNormal><b><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:black'><o:p>&nbsp;</o:p></span></b></p><p class=MsoNormal><b><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:black'>VTR</span></b><b><sup><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:#B8B41A'>IT</span></sup></b><b><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:black'><o:p></o:p></span></b></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:#404040'>100 First Street, Suite 200</span><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:#E0E028'> I</span><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:#404040'> San Francisco, CA 55120 </span><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:black'><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:#404040'>t:&nbsp;415.536.0871&nbsp; I f: 415.536.1419</span><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:black'><o:p></o:p></span></p><p class=MsoNormal><u><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:#1F497D'><a href="mailto:mnielson@vtrIT.com"><span style='color:#1F497D'>wwatts@vtrit</span></a>.com</span></u><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:#404040'> | </span><u><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:#404040'>vtrit.com</span></u><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:black'><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p></div><p class=MsoNormal><span style='color:#1F497D'><o:p>&nbsp;</o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> pythondotnet-bounces+wwatts=vtrit.com@python.org [mailto:pythondotnet-bounces+wwatts=vtrit.com@python.org] <b>On Behalf Of </b>Liam Corrigan<br><b>Sent:</b> Friday, March 23, 2012 10:18 AM<br><b>To:</b> pythondotnet@python.org<br><b>Subject:</b> Re: [Python.NET] import clr_2, import clr_4 vs import clr<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'>Opening up our existing products native lib output to mixed mode proved to be a real pain, so I took your first suggestion Brett.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'>After changing the project to .NET 4.0, changing the target info to &#8216;clr4.pyd&#8217; and changing all clr related strings in all the files to clr4, I have it working.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'>In my implementation, all my custom rack code and .NET support are called in from testlib<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'>&gt;&gt;&gt; import testlib<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'>&gt;&gt;&gt; twoDotOAssemblies = testlib.clr.ListAssemblies(True)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'>&gt;&gt;&gt; twoDotOAssemblies[0]<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'>u'mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'>&gt;&gt;&gt; fourDotOAssemblies = testlib.clr4.ListAssemblies(True)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'>&gt;&gt;&gt; fourDotOAssemblies[0]<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'>u'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'>I agree, it is fuzzy to me as to what is happening behind the scenes when I do:<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'>testlib.clr.AddReference(&quot;System&quot;)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'>&lt;System.Reflection.Assembly object at 0x04FBFF58&gt;<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'>&gt;&gt;&gt; testlib.clr4.AddReference(&quot;System&quot;)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'>&lt;System.Reflection.RuntimeAssembly object at 0x04FC0300&gt;<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'>&#8230;but for my purposes, it doesn&#8217;t matter.&nbsp; I don&#8217;t do any dot net calls other than my custom packaged C# library functions in .NET.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'>When I do want to play in that realm, I use IronPython but I generally just write what I need in C# and then call it in pythonnet<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'>Thanks for the help!<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'><o:p>&nbsp;</o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> Liam Corrigan <br><b>Sent:</b> March-22-12 5:09 PM<br><b>To:</b> pythondotnet@python.org<br><b>Subject:</b> RE: import clr_2, import clr_4 vs import clr<o:p></o:p></span></p></div></div><p class=MsoNormal><span lang=EN-CA><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'>I make a reference to System, I need to do it through from clr.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'>&gt;&gt;&gt; import System<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'>Traceback (most recent call last):<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'>&nbsp; File &quot;&lt;stdin&gt;&quot;, line 1, in &lt;module&gt;<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'>ImportError: No module named System<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'>&gt;&gt;&gt; import clr<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'>&gt;&gt;&gt; clr.AddReference(&quot;System&quot;)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'>&lt;System.Reflection.Assembly object at 0x04ECDDC8&gt;<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'>&gt;&gt;&gt;<o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'>So I figured if I had a &#8216;import clr_2&#8217;, <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'>Then the call to &#8216;clr_2.AddReference(&#8220;System&#8221;) would call the 2.0 version of System.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-CA style='color:#1F497D'><o:p>&nbsp;</o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> Tribble, Brett [<a href="mailto:btribble@ea.com">mailto:btribble@ea.com</a>] <br><b>Sent:</b> March-22-12 4:59 PM<br><b>To:</b> Liam Corrigan; <a href="mailto:pythondotnet@python.org">pythondotnet@python.org</a><br><b>Subject:</b> RE: import clr_2, import clr_4 vs import clr<o:p></o:p></span></p></div></div><p class=MsoNormal><span lang=EN-CA><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>I would say you could just dupe the projects under the solution and change the target info, but how are you going to control which one handles imports IE &#8220;import System&#8221;?<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p>&nbsp;</o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> <a href="mailto:pythondotnet-bounces+btribble=ea.com@python.org">pythondotnet-bounces+btribble=ea.com@python.org</a> [<a href="mailto:pythondotnet-bounces+btribble=ea.com@python.org">mailto:pythondotnet-bounces+btribble=ea.com@python.org</a>] <b>On Behalf Of </b>Liam Corrigan<br><b>Sent:</b> Thursday, March 22, 2012 1:28 PM<br><b>To:</b> <a href="mailto:pythondotnet@python.org">pythondotnet@python.org</a><br><b>Subject:</b> [Python.NET] import clr_2, import clr_4 vs import clr<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal><span lang=EN-CA>Hi guys, <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA>I&#8217;ve been using python .NET 2.0 in python 2.7.2 successfully for some time now and have also used the .NET 4.0 version, but of course I need to replace the clr.pyd and Python.Runtime.dll with the .NET 4.0 versions.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA>Although most of my 2.0 libs work over the 4.0 version, there is one in house library targeted against .NET 2.0 that will not, without some awkward hacks.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA>I need to be able to call into libraries written against both .NET 2.0 and 4.0, as separated calls - ideally, I&#8217;d like to have things such that I can operate in a python script something like this:<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-CA>import clr_2<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA>import clr_4<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-CA>clr_2.AddReference(&quot;MyDOTNET_2.0_BasedLib&quot;)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA>clr_4.AddReference(&quot;MyDOTNET_4.0_BasedLib&quot;)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-CA><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-CA>Are there any settings in the source build that I can do, to kick out two separate clr.pyd and Python.Runtime.dll&#8217;s with new names and matching .NET version support? <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-CA><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><b><span style='font-size:10.0pt'>Liam Corrigan</span></b><o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal><span lang=EN-CA><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><b><span lang=EN-CA style='font-size:12.0pt;font-family:"Times New Roman","serif"'>IMPORTANT LEGAL NOTICE </span></b><span lang=EN-CA style='font-size:12.0pt;font-family:"Times New Roman","serif"'><o:p></o:p></span></p><p><span lang=EN-CA>This message is intended only for the use of the named addressee. It may contain information that is copywritten, privileged, confidential and exempt from disclosure under applicable law. If you are not the intended recipient, you are notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this in error, please notify the sender immediately and delete it from your system. Communications using this system are monitored and recorded for lawful business purposes.<o:p></o:p></span></p><p class=MsoNormal><b><span lang=EN-CA style='font-size:12.0pt;font-family:"Times New Roman","serif"'>IMPORTANT LEGAL NOTICE </span></b><span lang=EN-CA style='font-size:12.0pt;font-family:"Times New Roman","serif"'><o:p></o:p></span></p><p><span lang=EN-CA>This message is intended only for the use of the named addressee. It may contain information that is copywritten, privileged, confidential and exempt from disclosure under applicable law. If you are not the intended recipient, you are notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this in error, please notify the sender immediately and delete it from your system. Communications using this system are monitored and recorded for lawful business purposes.<o:p></o:p></span></p></div></body></html>