把C#的WebService改成COM。.net中提供了工具可以把一个DLL转换成COM,流程如下:
1. 首先,必须对程序进行签名。调用sn.exe(强名称)实用工具。使用以下命令以生成程序集的密钥文件。
sn – k TestCom.snk
2. 修改AssemblyInfo.cs中的以下内容
[assembly: AssemblyKeyFile("..//..//TestCom.snk")]
3. 对AssemblyInfo.cs进行编译,生成一个模块
csc /t:module /out:AssemblyInfo.dll AssemblyInfo.cs
4. 调用csc将组件代码编译成dll(直接用IDE中的“生成 – 重新生成 TestCom.dll”会比较方便)
5. 将生成的DLL加载到高速缓存中。调用以下命令
gacutil /i TestCom.dll
6. 将该.net组件的类型信息注册到系统注册表中,以便Com Services能访问.net组件。命令如下
regasm TestCom.dll /tlb: TestCom.tlb
调用的时候和调普通COM没区别
以上方法基于 .net 2000,不知道最新版本有没有这个功能