问题描述
- PHP调用C#写的dll组件,提示Failed to create COM object
- PHP调用C#写的dll组件,已注册已加载,但是在PHP上仍然是提示
Failed to create COM object `CodeData.GetData'求解啊,谢谢了。
C#dll生成,设置修改了以下步骤:
1、在生成(Build)属性里选中“为 COM interop 注册”
2、在签名(signing)属性选中“为程序集签名”;
3、新建一个签名,起个名字;
4、取消勾选使用密码保护密钥文件;
5、修改工程属性文件(AssemblyInfo.cs),确认 [assembly: ComVisible(true)] 。
并且使用Visual Stdio的命令提示符里进行手动注册:
gacutil /i CodeData.dll
regasm CodeData.dll
均提示成功。
PHP环境配置是正常的,
<?php
echo ""OK"";
try{
$com = new Com(""CodeData.GetData"");
$result = $com->GetData();
echo $result;
}
catch(Exception $e){
print_r($e->getMessage());
}
$com = null;
?>这么一段代码,可以输出OK,还有Failed to create COM object `CodeData.GetData'
OKFailed to create COM object `CodeData.GetData': ??Ч????
解决方案
如果注册了,那就要看一下创建对象时为什么失败了。添加一些错误返回信息等
解决方案二:
之前写过,成功过。我后来的例子也不知道为什么和楼主一样。
解决方案三:
如果已经注册了,创建对象时却失败了 那应该是引用dll出错了
解决方案四:
可以确定是,dll组件写的有问题。
解决方案五:
如果注册了,那就要看一下创建对象时为什么失败了。添加一些错误返回信息等
时间: 2024-08-03 00:07:39