• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

令狐冲和酒壶

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

ASP调用C# DLL

ASP 调用C#编写的DLL的方法

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

出来

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

 

using System;
using System.Runtime.InteropServices;

namespace Test
{
    [Guid(
"123AC4E1-BEB0-45a1-BE3F-91BDD16A117A")]
    
public interface ITest
    {
        [DispId(
0)]
        
string TestString();
    }

    

    
public class Test : ITest
    {
                                
//从工具下的创建GUID取得
        public Test()
        {
        }

        
#region ITest 成员

        
public string TestString()
        {
            
return "Test";
        }

        
#endregion
    }

 

        之后对这个类进行强签名(如果这个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 2007-01-22 17:51  我不是冷狐冲,我就是一酒壶  阅读(2864)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3