在IronPython中使用特殊字符导入库 我从一个同事那里得到了一个C++的.NET库,名为“我的名字.dll”。无法在IronPython中导入,因为“从我的名字导入*”无效

在IronPython中使用特殊字符导入库 我从一个同事那里得到了一个C++的.NET库,名为“我的名字.dll”。无法在IronPython中导入,因为“从我的名字导入*”无效,dll,character,ironpython,.net-assembly,Dll,Character,Ironpython,.net Assembly,如果将库重命名为“myname.dll”,则会出现程序集清单丢失的错误(HRESULT:0x8013108)。现在,我不确定这是否是伴随的“my name.lib”文件的错误名称的问题(重命名没有帮助),或者是否有其他错误 我不是.NET方面的专家,但当我使用自己构建的VB.NET dll进行测试时(使用专有名称),一切都运行良好 有什么想法吗?这可能是大会的问题;调用clr.AddReference('my-name.dll')应该可以正常工作。一种可能是您的计算机缺少正确的VC++运行时文件

如果将库重命名为“myname.dll”,则会出现程序集清单丢失的错误(HRESULT:0x8013108)。现在,我不确定这是否是伴随的“my name.lib”文件的错误名称的问题(重命名没有帮助),或者是否有其他错误

我不是.NET方面的专家,但当我使用自己构建的VB.NET dll进行测试时(使用专有名称),一切都运行良好


有什么想法吗?

这可能是大会的问题;调用
clr.AddReference('my-name.dll')
应该可以正常工作。一种可能是您的计算机缺少正确的VC++运行时文件。尝试创建一个小的VB/C应用程序并从那里加载DLL


另外,请确保。

与此同时,我已经看到,在来自以下行的非常长的错误消息中:clr.AddReferenceToFile(“my name.dll”)还有这样的内容:IOError:System.IO.IOException:无法添加对assembly my name.dll的引用,所以还是assembly有问题吗?!现在(一天后),我从我的同事那里得到了一个没有特殊字符的dll的新版本。我得到:*.dll、*.dll.intermediate.manifest、*.exp和*.lib。不幸的是,我又收到了:文件。。。或找不到依赖项。。。应为程序集清单。。。(它是用德语写的,但这应该是正确的翻译)所有这些似乎都与托管和非托管dll生成有关。我实现了一个示例(在我的计算机上,使用VC++2010),如下所述:它成功了。我还扩展了一个类,一切都很好。现在,我让我的同事在他的电脑上做同样的事情(使用VC++2008),并将dll发送给我。如果我成功或失败,我会通知你。好的,我的同事终于按照msdn链接中的描述调整了他的配置。然而,dll的调试版本不适用,因为即使使用适用于VC++.NET 2008的MS可再发行软件包,也无法提供必要的Microsoft.VC90.DebugCRT。库的发行版终于做到了。好的,两条评论:1。如果导入“my name.dll”,如何加载类?“从我的名字导入类”?“我的名字”不是一个有效的Python名字,是吗?2.我先用VB程序(见上图)试了一下,一切都很好。所以基本上我可以使用动态链接库。我跟踪了你的链接,我认为dll没有被阻止。一旦dll被引用,你就会从dll中使用的名称空间导入名称。NET命名空间名称也始终是有效的Python名称。好吧,同时我理解(我希望如此)如果我像clr.AddReference('my-name.dll')这样引用,然后从foo导入栏中引用,那么foo不是dll的名称,而是dll中定义的命名空间。如果没有可用的名称空间,我只能实现一个语句,如:import bar