[Python.NET] import clr_2, import clr_4 vs import clr

Watts, Wendy WWatts at vtrIT.com
Fri Mar 23 19:41:55 CET 2012


Please remove me from your mailing list. 

 

Thank you. 

 

 

 

Wendy Watts 

IT Recruiter 

 

VTRIT

100 First Street, Suite 200 I San Francisco, CA 55120 

t: 415.536.0871  I f: 415.536.1419

wwatts at vtrit <mailto:mnielson at vtrIT.com> .com | vtrit.com

 

 

From: pythondotnet-bounces+wwatts=vtrit.com at python.org
[mailto:pythondotnet-bounces+wwatts=vtrit.com at python.org] On Behalf Of
Liam Corrigan
Sent: Friday, March 23, 2012 10:18 AM
To: pythondotnet at python.org
Subject: Re: [Python.NET] import clr_2, import clr_4 vs import clr

 

Opening up our existing products native lib output to mixed mode proved
to be a real pain, so I took your first suggestion Brett.

After changing the project to .NET 4.0, changing the target info to
'clr4.pyd' and changing all clr related strings in all the files to
clr4, I have it working.

In my implementation, all my custom rack code and .NET support are
called in from testlib

 

>>> import testlib

>>> twoDotOAssemblies = testlib.clr.ListAssemblies(True)

>>> twoDotOAssemblies[0]

u'mscorlib, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089'

>>> fourDotOAssemblies = testlib.clr4.ListAssemblies(True)

>>> fourDotOAssemblies[0]

u'mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089'

 

I agree, it is fuzzy to me as to what is happening behind the scenes
when I do:

testlib.clr.AddReference("System")

<System.Reflection.Assembly object at 0x04FBFF58>

>>> testlib.clr4.AddReference("System")

<System.Reflection.RuntimeAssembly object at 0x04FC0300>

 

...but for my purposes, it doesn't matter.  I don't do any dot net calls
other than my custom packaged C# library functions in .NET.

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

Thanks for the help!

 

 

From: Liam Corrigan 
Sent: March-22-12 5:09 PM
To: pythondotnet at python.org
Subject: RE: import clr_2, import clr_4 vs import clr

 

I make a reference to System, I need to do it through from clr.

 

>>> import System

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

ImportError: No module named System

>>> import clr

>>> clr.AddReference("System")

<System.Reflection.Assembly object at 0x04ECDDC8>

>>> 

 

So I figured if I had a 'import clr_2', 

Then the call to 'clr_2.AddReference("System") would call the 2.0
version of System.

 

 

From: Tribble, Brett [mailto:btribble at ea.com] 
Sent: March-22-12 4:59 PM
To: Liam Corrigan; pythondotnet at python.org
Subject: RE: import clr_2, import clr_4 vs import clr

 

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 "import System"?

 

From: pythondotnet-bounces+btribble=ea.com at python.org
[mailto:pythondotnet-bounces+btribble=ea.com at python.org] On Behalf Of
Liam Corrigan
Sent: Thursday, March 22, 2012 1:28 PM
To: pythondotnet at python.org
Subject: [Python.NET] import clr_2, import clr_4 vs import clr

 

Hi guys, 

I'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.

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.

I need to be able to call into libraries written against both .NET 2.0
and 4.0, as separated calls - ideally, I'd like to have things such that
I can operate in a python script something like this:

 

import clr_2

import clr_4

 

clr_2.AddReference("MyDOTNET_2.0_BasedLib")

clr_4.AddReference("MyDOTNET_4.0_BasedLib")

 

 

Are there any settings in the source build that I can do, to kick out
two separate clr.pyd and Python.Runtime.dll's with new names and
matching .NET version support? 

 

 

Liam Corrigan

 

 

IMPORTANT LEGAL NOTICE 

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.

IMPORTANT LEGAL NOTICE 

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.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/pythondotnet/attachments/20120323/4ec8c812/attachment.html>


More information about the PythonDotNet mailing list