首页 > 作文

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

更新时间:2023-04-06 22:10:37 阅读: 评论:0

有的时候,我们需要在php中利用到其他语言编写的dll类库,如c#编写的dll,方法就是利用php new com方法来调用,在调用之前先要把dll库注册并把程序集放入到全局缓存中。

1. 创建一个 c# class library ,命名为:helloworld
2. 打开项目的属性,在点选左边的 “application”(就是第一个tab) , 然后点击asmbly infqq黑名单ormation 按钮 ,在弹出的dialog中, 必须在底部勾上: make asmbly com-visible !否则 , 这个dll将不能以com方式访问 .( 也可以在代码中的类声明中写上[comvisible(true)] , 效果一样,需要增加using system.runtime.interoprvices;引用)

3. 创建强命名签名文件并使用
  使用vs.net的“vsitual studio .net工具”–>vistual studio .net命令提示符,输入 sn -k d:\helloworld.snk 回车即创建了强命名签名文件
  打开项目的属性,点选左边signing 勾上sign the asmbly 在 choo a strong name key file:处选择<brow> 选择刚才创建的helloworld.sn在字开头的成语k文件

中标通知书范本4. 创建类库并编译成dll

复制代码 代码如下: namespace helloworld

{

//[comvisible(true)] //or check “asmbly com-visible” at application-asmbly_information dialog ;

public class hello

{

public string write()

{

return “hello world”;

}

}

}




5. 找到dll文件夹路径 ,然后使用vs.net的“vsitual studio .net工具”–>vistual studio .net命令提示符

进入该dll文件夹下输入:


复制代码 代码如下: regasm helloworld.dll<回车>

这时候,这个.dll的.net程序集就变成一个标准的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 [..] #返回父目录

本文发布于:2023-04-06 22:10:36,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/71a9c60e41179024ef9bd4635580bf91.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:PHP调用C#开发的dll类库方法.doc

本文 PDF 下载地址:PHP调用C#开发的dll类库方法.pdf

标签:代码   全局   程序   缓存
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图