ASP调用C# DLL

前一阵子一直在忙一个项目,其中要用到ASP调用C#的DLL,网上资历料不少,总结了一下,写个例子

出来

          首先建立一个类库的项目
之后编写一个接口,ASP要调用的对象实现这个接口,代码如下(要有一个没有参数的构造函数)

 1using System;
 2using System.Runtime.InteropServices;
 3
 4namespace Test
 5{
 6     [Guid("123AC4E1-BEB0-45a1-BE3F-91BDD16A117A")]
 7    public interface ITest
 8     {
 9         [DispId(0)]
10        string TestString();
11     }

12
13    
14
15    public class Test : ITest
16     {
17                                //从工具下的创建GUID取得
18        public Test()
19         {
20         }

21
22        ITest 成员
30     }

       之后对这个类进行强签名(如果这个DLL调用的其它DLL的话,也要进行强签名),运行Visual

Studio 2003 .net 命令提示,执行sn -k 后加输出的DLL所在目录,如sn -k 文件路径\test.snk,之后会生

成test.SNK文件,打开AssemblyInfo.cs文件,在[assembly: AssemblyKeyFile("")]里填写生成的SNK文件

的路径,如[assembly: AssemblyKeyFile("文件路径\\test.snk")],之后重新编译

    
         使用regasm工具对程序集进行注册,运行Visual Studio 2003 .net 命令提示,执行regasm /tlb

DLL文件
          
         之后使用gacutil工具将DLL程序集安装到全局程序集缓存中,也是先运行Visual Studio 2003 .net

命令提示,再执行gacutil /i 要注册的DLL的路径

  
          之后就可以asp里调用测试啦
          sn.exe
         regasm.exe
          gacutil.exe
          这三个工具都可以在Visual Studio .net 2003的安装目录下的SDK\v1.1\Bin目录下找到

posted on 2008-02-06 15:46  Olay2008  阅读(518)  评论(0)    收藏  举报