创建 CDemoLib 类库和 CDemo 组件
- 从“文件”菜单中选择“新建”,然后选择“项目”以打开“新建项目”对话框。从“Visual C# 项目”列表中选择“类库”项目模板,然后在“名称”框中输入 CDemoLib。
提示 每次创建新项目时都要为其指定名称。这样就设置了根命名空间、程序集名称和项目名称,同时确保了默认组件位于正确的命名空间中。
- 在解决方案资源管理器中,右击“CDemoLib”,然后从快捷菜单中选择“属性”。注意,“根命名空间”框中包含“CDemoLib”。
根命名空间用于限定程序集中的组件名。例如,如果两个程序集都提供了名为 CDemo 的组件,则可以使用
CDemoLib.CDemo
指定您的 CDemo 组件。单击“取消”关闭对话框。
- 从“项目”菜单中选择“添加组件”。
- 在“添加新项”对话框中,选择“组件类”,然后在“名称”框中键入 CDemo.cs。
名为 CDemo.cs 的组件即添加到类库中。
- 在解决方案资源管理器中,右击 CDemo.cs 并选择“查看代码”。代码编辑器打开。
注意紧跟在
public class CDemo
后面的: System.ComponentModel.Component
。本节指定您的类从中继承的类。默认情况下,组件从系统提供的 Component 类继承。Component 类为组件提供了许多功能,包括使用设计器的能力。 - 在解决方案资源管理器中,右击 Class1.cs 并选择“删除”。这将删除与类库一起提供的默认类,因为本演练中将不使用该类。
- 从“文件”菜单中,选择“全部保存”来保存项目。
- 在 CDemo.cs添加代码 ,下面是一个用于测试的简单函数
public string test()
{
return "This is an example";
}
10. 用sn.exe生成CDemoLib.snk密钥文件 sn -k CDemoLib.snk
11. 为AssemblyInfo.cs类中AssemblyKeyFile指定路径(CDemoLib.snk文件路径)
12. 注册组件 regasm CDemoLib.dll
13. 将组件添件到全局程序集缓存中 gacutil /i CDemoLib.dll
14. 在php调用组件代码
<?php
$c=new COM("CDemoLib.CDemo");
echo $c->test();
?>