我是Java开发人员但.Net
任务指派我为R& D。我正在使用Visual Studio 2008.我创建了样本.cs
文件,如下所示......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Example
{
public class mathOperation
{
public int add(int a, int b)
{
return a + b;
}
public int subtract(int a, int b)
{
return a - b;
}
}
}
现在我想为这个.DLL
文件生成的COM
操作注册.cs
文件。我还设置了项目的属性Register for COM interop
。建立它。然后创建了安装项目,但.DLL
未注册COM
操作。
如果此文件生成的.DLL
没问题,那么有人可以为我提供如何创建安装项目的链接,以便为COM
操作注册此类dll
OR
我必须关注其他内容来创建可用于.cs
COM
文件
答案 0 :(得分:0)
您必须添加一个界面,并使用GuidAttribute中找到的ComVisible,ClassInterface和System.Runtime.Interopservices namespace来修饰类型。
确保运行Visual Studio,因为interop的注册需要对HKEY_CLASSES_ROOT的写访问权。
[ComVisible(true)]
[Guid("516FED99-YOUR-GUID-HERE-C9EA0177568A")]
public interface IMathOperation
{
int Add(int a, int b);
int Subtract(int a, int b);
}
[ComVisible(true)]
[Guid("4354D883-YOUR-GUID-HERE-155A0DE30318")]
[ClassInterface(ClassInterfaceType.None)]
public class MathOperation:IMathOperation
{
public int Add(int a, int b)
{
return a + b;
}
public int Subtract(int a, int b)
{
return a - b;
}
}