1.新建一个项目工程,输出类型为类库,我这里名称写为:LibTest
2.添加一个接口,Itest.cs,代码如下

public interface Itest
{
    string print();
}

3.添加一个新类test,来实现这个接口:

public class test:Itest
{
    public string print()
    {
        return "ok";
    }
}

4.在该项目上右键,属性,进行如下设置:

1)应用程序选项卡下,点击“程序集信息(I)...”按钮,勾选“使程序集COM可见(M)”,之后确定
2)签名选项卡下,勾选“为程序集签名(A)”,之后在“选择强名称密钥文件(K)”中,选择“新建”,之后新建一个密钥文件,我这里起名为“test.snk”,密码那项我设置的是不选择。
关于设置强名称这位置,有的会报错,提示没有权限,给Everyone权限就可以了
3)保存属性的设置
5.生成项目,把生成的dll使用regasm命令进行注册(C#写的DLL属于托管代码,只能用RegAsm进行注册,C++等写的为非托管代码,使用regsvr32进行注册。RegAsm在C:\Windows\Mircosoft.NET下的对应的.NET框架文件夹下)
6.在ASP中进行调用,代码如下:

<%
dim obj
set obj = server.CreateObject("LibTest.test")
response.write(obj.print)
%>

7.注意事项:
如果写的程序是64位的,那么在IIS7以上版本下,需要在应用程序池中设置为64位(默认就是)