[Python.NET] getting started - can't import a simple dll
Jason Awbrey
jason at awbrey.net
Wed Dec 15 03:20:32 CET 2010
I recompiled using .NET 2.0 and now I can load the DLL. Is there any
support for frameworks after 2.0? I'd hate to lose the ability to use LINQ.
Also, you mentioned Python.Runtime.dll.config. I don't have this file.
What's in it?
thanks for your help
On Tue, Dec 14, 2010 at 8:06 PM, Laszlo Sebo <
laszlo.sebo at primefocusworld.com> wrote:
> When you import the assembly it will be referenced by the assembly name
> defined in the project settings (which is what the dll will be named as).
> GAC isn't required ( i never do that ).
>
> I just did a quick test here. Made an empty Class project via Visual Studio
> 2008.
>
> Then tweaked the source to add 2 functions:
>
> using System;
> using System.Collections.Generic;
> using System.Linq;
> using System.Text;
>
> namespace ClassLibrary1
> {
> public class Class1
> {
> public string Function1()
> {
> return "Test Function Called";
> }
> public void Function2()
> {
> Console.WriteLine("Hello World");
> }
> }
> }
>
> I built it with all default settings (as a class library), then copied the
> dll to the python / lib / site-packages folder, along with the clr.pyd,
> Python.Runtime.dll and Python.Runtime.dll.config files
>
> Then from python:
>
> Python 2.5.2 (r252:60911, Feb 21 2008, 13:11:45) [MSC v.1310 32 bit (Intel
> win32
> Type "help", "copyright", "credits" or "license" for more information.
> >>> import clr
> >>> clr.AddReference('ClassLibrary1')
> <System.Reflection.Assembly object at 0x01DF5580>
> >>> import ClassLibrary1
> >>> myObject = ClassLibrary1.Class1()
> >>> myObject.Function1()
> u'Test Function Called'
> >>> myObject.Function2()
> Hello World
> >>>
>
> Note that the "import ClassLibrary1" is the namespace not the assembly (it
> just happens to be the same since its all default values).
> I wonder if your issue is somehow related to VS2010? Could it be adding
> some default references? What references are listed in VS?
>
>
> cheers,
> laszlo
>
>
>
>
> On 14/12/2010 5:47 PM, Jason Awbrey wrote:
>
>> Thanks. I tried creating a test assembly with just a default constructor
>> and no other dependencies, and I get the same error when I try to import it.
>>
>> I also tried setting the path variable, through windows as well as in
>> code, and get the same result.
>>
>> Assuming my dll is named "TestLib.dll", I should be able to do
>> clr.AddReference("TestLib"), correct?
>>
>> Do I have to strong name my assemblies, or put them in the GAC? Or is
>> that optional?
>>
>> Any other suggestions of how to track this down?
>>
>
> _________________________________________________
> Python.NET mailing list - PythonDotNet at python.org
> http://mail.python.org/mailman/listinfo/pythondotnet
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/pythondotnet/attachments/20101214/9c7f0330/attachment-0001.html>
More information about the PythonDotNet
mailing list