COM dll的有效.cs文件

时间:2013-12-05 07:20:15

标签: c# .net dll

我是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文件

enter image description here

1 个答案:

答案 0 :(得分:0)

您必须添加一个界面,并使用GuidAttribute中找到的ComVisibleClassInterfaceSystem.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;
    }
}