• 在vb和asp中调用c#生成的.net的dll


    [转] 在vb和asp中调用c#生成的.net的dll 收藏
    http://blog.csdn.net/KimmKing/archive/2008/12/04/3445233.aspx

    摘要:本文阐述了在vb和asp中调用c#生成的.net的dll的方法和步骤。
     
    1       使用C#建立.net的dll
    1.1    建立项目
    在.net中新建一个项目:TestCom。

    1.2    实现c#类
    在class1.cs文件中添加一个接口和一个类:using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Runtime.InteropServices;
     
    namespace TestCom
    {
        [ComVisible(true)]
        public interface iClass1
        {
            string test();
        }
     
        [ComVisible(true)]
        [ClassInterface(ClassInterfaceType.AutoDual)]  
        public class Class1 : iClass1
        {
            public string test()
            {
                return "ok";
            }
     
        }
    }

    注意接口和类上的属性,对com可见和生成com类型。
    1.3    添加强名
     选择开始菜单中Vistual Studio目录下的Vistual Studio Tools下的Vistual Studio 命令提示。使用sn -k c:\myKey.snk生成签名文件。在项目上右键,点击属性,选择签名,选中为程序集签名,选择myKey.snk文件。

    1.4    生成解决方案
    在项目目录的\TestCom\bin\Debug中可以找到TestCom.dll。至此,c#生成的.net dll已经完成。
     2       生成和注册类型库
     2.1    生成tlb类型库
    在Visual Studio命令提示符下,切换到此目录。输入tlbexp TestCom.dll /out:TestCom.tlb,提示成功导出tlb类型库文件。
     


    2.2    注册类型库
    输入regasm TestCom.dll /tlb: TestCom.tlb /codebase,将类型库导入到注册表。提示成功注册了类型,说明操作成功,此时TestCom .dll可以作为一个com来使用。


    2.3    添加dll到GAC
    输入gacutil /i TestCom.dll,将此.net程序集添加到GAC。
    3       vb调用测试
    3.1    创建vb项目
    在vb中新建一个标准exe项目。在项目菜单选择引用,在弹出的引用com对象列表中找到TestCom,选上。
    在窗体上拖放一个按钮,双击按钮,在按钮事件里输入代码:
    Dim a As New TestCom.Class1
    MsgBox a.test
     


    3.2    运行程序
    启动项目,点击按钮,弹出对话框ok,说明调用成功。
     
     
    4       asp调用测试
    4.1    创建asp文件
    在iis的根目录下新建一个文本文件,改名为1.asp,输入以下内容:
    <%
    SET s = CreateObject("TestCom.Class1")
    Response.Write(s.test())
    %>

    4.2    运行程序
    在ie中访问此文件,页面输出ok,说明调用成功。
     


    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/rabbitlzx/archive/2010/06/14/5671021.aspx

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/rabbitlzx/archive/2010/06/14/5671021.aspx

  • 相关阅读:
    下巴肉和脖子肉怎么减肥
    java中compareTo和compare方法之比较,集合中对象的比较
    easyui中combotree只能选子选项,父级不被选中
    java线程总结(2/5)
    流行的框架与新技术
    Spring官网改版后下载
    prepareStatement与Statement的区别
    jQuery li click失效问题
    Flask 启动报错 error: [Errno 10053]
    [linux]CentOS 7 下安装 RabbitMQ
  • 原文地址:https://www.cnblogs.com/JerryTian/p/1911116.html
Copyright © 2020-2023  润新知