手机版

PHP调用C#开发的dll类库方法

时间:2021-09-10 来源:互联网 编辑:宝哥软件园 浏览:

有时候,我们需要使用用其他语言编写的dll类库,比如用C#编写的dll。方法是用PHP新的COM方法调用。在调用之前,我们必须注册dll库,并将程序集放入全局缓存中。

1.创建一个名为:HelloWorld2的C#类库。打开项目的属性,单击左侧的“应用程序”(即第一个选项卡),然后单击“程序集信息”按钮。在弹出的对话框中,使组件组件可见必须在底部勾选!否则,此dll将无法在COM模式下访问。(也可以在代码中的类声明中写入[ComVisible(true)],效果相同,需要添加usingsystem。runtime.interopservices参考)

3.创建一个强命名签名文件,使用命令提示符“Vsitual Studio。网络工具”-远景工作室。Net的vs.net,输入sn -k d:\HelloWorld.snk进入,然后创建一个强命名签名文件打开项目的属性。单击左侧签名挂钩上的对程序集签名,并在选择强名称密钥文件:处选择浏览,以选择刚刚创建的HelloWorld.snk文件。

4.创建一个类库,并将其编译成dll。复制的代码如下:命名空间hello world {//[com visible(true)]//或者在application-assembly _ information对话框中检查‘assembly com-visible’;公共类Hello {公共字符串Write() {返回' Hello World ';}}} 5.找到dll文件夹路径,然后使用“Vsitual Studio。网络工具”-Vistualstudio。NET命令提示符下的vs.net进入dll文件夹。输入:复制代码如下:雷加斯姆HelloWorld.dll进入

这时。这个的净组装。dll已经成为一个标准的Com组件,但是还不能使用,所以必须把它变成一个全局的com组件。将程序集添加到全局程序集缓存中,并进入提示窗口。输入:复制代码如下: gacutil/I HelloWorld.dll输入。此时,您的dll将被复制到全局程序集缓存。也就是说,这个dll组件可以在这台计算机的任何硬盘上使用。如果它没有强命名,

PHP测试:复制代码如下:php $r=new Com('HelloWorld。hello’);$ s=$ r-Write();echo $ s;在命令下:复制代码如下:CD [/D] [drive:][path] #输入指定的路径CD [.] #返回父目录

版权声明:PHP调用C#开发的dll类库方法是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。