vs的类库php能调用,PHP调用C#开发的dll类库方法

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

发布于 2014-08-09 22:43:39 | 301 次阅读 | 评论: 0 | 来源: 网友投递

PHP开源脚本语言PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,入门门槛较低,易于学习,使用广泛,主要适用于Web开发领域。PHP的文件后缀名为php。

这篇文章主要介绍了PHP调用C#开发的dll类库方法,包含一个完整的详细的DLL制作步骤和PHP调用方法,需要的朋友可以参考下

1. 创建一个 C# Class Library ,命名为:HelloWorld

2. 打开项目的属性,在点选左边的 "Application"(就是第一个tab) , 然后点击Assembly Information 按钮 ,在弹出的Dialog中, 必须在底部勾上: Make assembly COM-visible !否则 , 这个dll将不能以COM方式访问 .(  也可以在代码中的类声明中写上[ComVisible(true)] , 效果一样,需要增加using System.Runtime.InteropServices;引用)

d3a47f95095e2dac50fd0af482ab7714.png

3. 创建强命名签名文件并使用

使用vs.net的“Vsitual Studio .Net工具”-->Vistual Studio .Net命令提示符,输入 sn -k d:HelloWorld.snk 回车即创建了强命名签名文件

打开项目的属性,点选左边Signing 勾上Sign the assembly 在 Choose a strong name key file:处选择 选择刚才创建的HelloWorld.snk文件

757591dd6628ae614bd4189d401847c9.png

4. 创建类库并编译成dll

代码如下:

namespace HelloWorld

{

//[ComVisible(true)] //or check "Assembly COM-Visible" at Application-Assembly_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组件了.

如果不进行强命名签名,这一步会提示加载失败

e75c31b0f9b3ecec7afebcb11101c581.png

PHP测试:

代码如下:

$r=new Com("HelloWorld.Hello");

$s=$r->Write();

echo $s;

?>

命令符下:

代码如下:

CD [/D] [drive:][path]  #进入指定路径

CD [..] #返回父目录

相关阅读:

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

php调用C代码的实现方法

PHP模拟asp.net的StringBuilder类实现方法

PHP使用pear自带的mail类库发邮件的方法

PHP调用VC编写的COM组件实例

php调用c接口方法

php处理restful请求的路由类分享

php操作mysql数据库的基本类示例代码

PHP调用万网的接口实现域名查询功能

php实现一个简单的路由类

PHP与MySQL开发的8个技巧小结

PHP面向对象开发的61条军规小结

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值