• λ我爱Aspx >> Asp.Net >> 从COM组件调用.NET组件编程实战
  • 从COM组件调用.NET组件编程实战

  • :未知  Դ:非寒日志  :2007-4-21 0:45:31  ؼ:.net,com
  • //Flush the data through the crypto stream into the memory stream

    cs.Write(inputByteArray, 0, inputByteArray.Length);

    cs.FlushFinalBlock();

    //Get the decrypted data back from the memory stream

    //建立StringBuilder对象,CreateDecrypt使用的是流对象,必须把解密后的文本变成流对象

    StringBuilder ret = new StringBuilder();

    return System.Text.Encoding.Default.GetString(ms.ToArray());

    }

    }

    }

    说明:注意上面的Guid是使用vs.net工具菜单里面的创建guid工具生成的,这个每个Com组件所必须的。输入密匙的时候,必须使用英文字符,区分大小写,且字符数量是8个,不能多也不能少,否则出错。

    然后使用vs.net的“Vsitual Studio .Net工具”-->Vistual Studio .Net命令提示符。在命令行内打下cd c:\ <回车>

    sn -k myKey.snk<回车>

    这样就在C盘根目录下生成一个名叫myKey.snk的强名称文件,然后将其拷贝到上述工程目录中(与StringCrypt.cs文件同目录)后关闭提示符窗口。

    在vs.net的那个类库工程自动生成的AssemblyInfo.cs文件内

    把[assembly: AssemblyKeyFile("")]改成[assembly: AssemblyKeyFile("../../myKey.snk ")]

    把[assembly: AssemblyVersion("1.0.*")]改成[assembly: AssemblyVersion("1.0.0.0")] // 注意:这时你的Com组件版本为1.0.0.0版

    然后按Shift + Ctrl + B键生成dll库(使用Release模式),StringCrypt.dll。这时候,程序集就建立成功了。

    二、注册该程序集并创建一个类型库

    仍然使用开始菜单中的Visual Studio .Net命令提示符

    进入你的项目目录,假设为D:\project\bin\Release

    在对话框中输入

    d:<回车>

    cd project\bin\release<回车>

    然后输入 dir 命令可以看见StringCrypt.dll文件

    然后输入:regasm StringCrypt.dll<回车>

    然后就在这个目录下生成了StringCrypt.tlb类型库文件。不要关闭此提示符窗口。

    这时候,这个.dll的.net程序集就变成一个标准的Com组件了,但是还不能用,必须让它变成全局Com组件。

    Ҷƪл˵?
  • һƪ在来三张
    һƪ乱画的一大堆哈哈