温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python中怎么调用.net framework

发布时间:2021-06-24 16:52:06 来源:亿速云 阅读:248 作者:Leah 栏目:编程语言

今天就跟大家聊聊有关Python中怎么调用.net framework,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

1. 安装python2.5和对应的pywin32

2. 下载ironPython源代码 是C#的。

我用的是IronPython1.1的版本,从codeplex网站下载IronPython_1_1.rar。解压缩。

3. 用vistual studio 建立一个.NET类库工程,工程名字为:IronPython。

把ironPython目录下的src子目录中的ironPython目录的ironMath目录里的c#源文件(不要assemblyInfo.cs)都考到你的工程目录里。

在工程里增加刚考来的源文件。

4. 修改AssemblyInfo.cs

[assembly: ComVisible(false)]

将false 改为true

5. 在项目=>属性=>生成里把 为COM Interop注册 打上勾

6. 在项目=>属性=>签名 里把为程序集签名 打上勾,选择强名称密钥文件时 选择新建,输个文件名,比如 IronPython.snk, 也可以手动生成密钥文件,然后在这里选择.

在Python调用.net framework的方法中,手动生成的方法:在.Net Framework的命令行界面里用 sn -k IronPython.snk 这个命令.

7. 编译项目生成 IronPython.dll

8. 在.Net Framework的命令行界面里用 regasm IronPython.dll 注册COM组件

9. 在.Net Framework的命令行界面里用 gacutil -i IronPython.dll 把库加到全局缓存里

10. 建立.net framework 的类库。代码如下:

using System;  using System.Collections.Generic;  using System.Linq;  using System.Text;  namespace test  {  public class testclass  {  public string func()  {  return "hello world";  }  }  }

11. 建立test.py调用刚才写的test.dll类库。代码:

import win32com  import win32com.client  eng=win32com.client.Dispatch("IronPython.Hosting.PythonEngine")  eng.execute("import clr")  eng.execute("import sys")  eng.execute("""sys.path.append('c:\\\\test')""")  eng.execute("print sys.path")  eng.execute("""clr.AddReferenceToFile("abc.dll")""")  eng.execute("from test import *")  eng.execute("obj = testclass()")  eng.execute("print obj.func()")

注意:eng.execute("""sys.path.append('c:\\\\test')""")

这句是将test.dll所在的路径添加到ironPython的sys.path中去。如果不加,AddReferenceToFile将会出错。

看完上述内容,你们对Python中怎么调用.net framework有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI