生成一个类库项目
这里创建了一个.net 4.8的项目,添加了一个ComAIFaceTest类
如下图:
ComAIFaceTest
代码如下:
[ComVisible(true)][Guid("12345678-ABCD-1234-EF00-0123456789AB")][ClassInterface(ClassInterfaceType.AutoDual)]public class ComAIFaceTest{public string HelloWorld(string name){return $"Hello, {name}!";}}
设置项目属性
-
添加项目配置
在程.csproj文件添加配置:
<ProduceReferenceAssembly>True</ProduceReferenceAssembly>
如图:
- 设置项目强命令属性:
打开项目【属性】,找到强命名,如图:
这里需要生成一个.snk的文件。方式如下:
* 配置强名称程序集密钥文件
启动 Visual Studio 命令提示符。在命令提示符下,从你要存储密钥文件的文件夹,键入以下命令,然后按 Enter 键:sn /kfile_name.snk示例: sn /k ErrorHandling.snk命令行上会显示一条确认消息“写入 <file_name.snk,> 的密钥对。
过程图如下:
然后在在【强名称密钥文件】文件这里添加你生成的.snk文件,该文件位于项目文件根目录,如下图:
然后生成此项目就行,记得需要管理员身份运行VS,在进行编辑!
调用
在其他项目添加COM组件引用,调用代码如下:
// 创建COM组件的实例var comObject = new ComAIFaceTest();// 调用COM组件的方法string result = comObject.HelloWorld("参数值");Console.WriteLine(result);