成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺析C#編寫COM組件的幾種方法

開發 后端
這里我們將介紹.NET中的C#編寫COM組件的幾種方法,希望通過本文能對大家了解COM組件有所幫助。

我們將介紹C#編寫COM組件的幾種方法,并通過代碼講解的相識,對.NET中的C#編寫COM組件進行詳細的介紹。包括生成.NET程序集,注冊并創建一個程序庫等等。

  1. Encrypt( string pToEncrypt,string sKey ) //加密  
  2. Decrypt( string pToDecrypt,string sKey ) //解密 

然后你這樣寫代碼:

  1. using System;  
  2. using System.Runtime.InteropServices;  
  3. namespace 名稱空間  
  4. {  
  5.     // 首先建立接口,這個是Com必須使用的  
  6.     [Guid( "61BB24CB-4C2C-40f8-9E13-1AC5E558D56A" )]  
  7.     public interface IEncrypt  
  8.     {  
  9.         string Encrypt( string pToEncrypt,string sKey );  
  10.         string Decrypt( string pToDecrypt,string sKey );  
  11.     }  
  12.     // 寫接口的實現  
  13.     [Guid( "CB52E990-185E-4448-A7E8-C88ECAD563AB" )]  
  14.     public class 類名稱 : IEncrypt  
  15.     {  
  16.         public string Encrypt( string pToEncrypt,string sKey )  
  17.         {  
  18.             // 復制FAQ加密代碼  
  19.         }  
  20.         public string Decrypt( string pToDecrypt,string sKey )  
  21.         {  
  22.             // 復制FAQ解密代碼  
  23.         }  
  24.     }  

然后用vs.net打包成.dll類庫文件,假設名稱為MyEncrypt.dll

然后用如下工具

regasm MyEnCrypt.dll /tlb:MyEncrypt.tlb

這個.tlb文件就是類型庫,可以由vb6和vc++6引用.

注意上面的guid是使用vs.net工具菜單里面的創建guid工具生成的.

還要注意,vs.net自動生成的assemblyinfo.cs文件中必須添加強名稱和版本號,因為Com組件需要版本號,不要改動版本號,也不要用vs.net自動的1.*這樣的版本號,最好使用

1.1.1.1這樣的固定版本,而且必須一次添加,不能多次添加.

步驟

一 生成.net程序集:

首先你把http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=35935的代碼復制.

然后你復制這個代碼

  1. using System;  
  2. using System.IO;  
  3. using System.Text;  
  4. using System.Runtime.InteropServices;  
  5. using System.Security.Cryptography;   
  6. namespace Csic  
  7. {  
  8.     // 首先建立接口,這個是Com必須使用的  
  9.     [Guid( "61BB24CB-4C2C-40f8-9E13-1AC5E558D56A" )]  
  10.     public interface IEncrypt  
  11.     {  
  12.         string Encrypt( string pToEncrypt,string sKey );  
  13.         string Decrypt( string pToDecrypt,string sKey );  
  14.     }  
  15.     // 寫接口的實現  
  16.     [Guid( "CB52E990-185E-4448-A7E8-C88ECAD563AB" )]  
  17.     public class Crypt : IEncrypt  
  18.     {  
  19.         public string Encrypt( string pToEncrypt,string sKey )  
  20.         {  
  21.             // 復制FAQ加密代碼  
  22.         }  
  23.         public string Decrypt( string pToDecrypt,string sKey )  
  24.         {  
  25.             // 復制FAQ解密代碼  
  26.         }  
  27.     }  

把上面的文件保存成vs.net項目的一個類庫工程.

然后使用vs.net的“Vsitual Studio .Net工具”-->Vistual Studio .Net命令提示符

在命令行內打下

  1. cd c:\ <回車> 
  2. sn -k myKey.snk<回車> 

就在C盤根目錄下生成一個名叫myKey.snk的強名稱文件,然后關閉提示符窗口.

在vs.net的那個類庫工程自動生成的AssemblyInfo.cs文件內把

  1. [assembly: AssemblyKeyFile( "" )]  

改成

  1. [assembly: AssemblyKeyFile( @"C:\myKey.snk" )]  

把[assembly: AssemblyVersion( "1.0.*" )]

改成

  1. [assembly: AssemblyVersion( "1.0.0.0" )] // 注意:這時你的Com組件版本為1.0.0.0版  

然后按Shift + Ctrl + B鍵生成dll庫(使用Release模式),假設是Csic.Crypt.dll.

這時候,程序集就建立成功了.

二、注冊該程序集并創建一個類型庫

仍然使用開始菜單中的Vistual Studio .Net命令提示符

進入你的項目目錄,假設為D:\myProject\bin\Release

在對話框中輸入

  1. d:<回車> 
  2. cd myproject\bin\release<回車> 

然后輸入 dir 命令可以看見Csic.Crypt.dll文件

然后輸入:regasm /tlb Csic.Crypt.tlb Csic.Crypt.dll<回車>

然后就在這個目錄下生成了Csic.Crypt.tlb類型庫文件.不要關閉此提示符窗口.

這時候,這個.dll的.net程序集就變成一個標準的Com組件了,但是還不能用,必須讓它變成全局Com組件.

這個regasm 實用程序將創建一個類型庫并在 Windows 注冊表中對其進行注冊,以使 PhysServer2.dll 中的類對 COM 客戶端可用 .

三、 將程序集添加到全局程序集緩存中

進入提示符窗口,輸入

  1. gacutil /I Csic.Crypt.dll<回車>  

這時,你的這個dll就被復制到全局程序集緩存中了.也就是說無論在這個電腦的哪個硬盤上都可以使用此dll組件了.

四、C#編寫COM組件使用方法

asp內的使用方法

  1. set obj = Server.CreateObject( "Csic.Crypt" )  
  2. dim str1  
  3. str1 = obj.Encrypt( "要加密內容","密碼" ) // 加密  
  4. dim str2  
  5. str2 = obj.Decrypt( "要解密內容","密碼" ) // 解密 

【編輯推薦】

  1. C#數組基礎介紹與操作詳解
  2. C#數組操作詳細剖析
  3. 淺析C#數組初始化性能測試
  4. C#數組和串操作經驗總結
  5. C#數組初始化全面分析
責任編輯:彭凡 來源: upschool.com.cn
相關推薦

2009-09-18 19:09:41

C# COM組件

2009-08-03 11:37:36

C#日期時間控件

2009-09-17 16:55:58

C#組件設計

2009-08-31 09:19:31

c#隱藏窗口

2013-02-22 09:54:15

C#Excel讀取Excel

2009-09-01 18:35:53

C#判斷文件存在

2009-08-12 18:04:44

編寫C#多線程

2009-08-18 16:31:19

Visual C#編寫

2009-08-06 16:58:40

C#編寫ActiveX

2009-08-28 15:05:35

C#編寫Calenda

2009-09-02 16:43:55

C#調用Excel的C

2009-08-21 09:14:47

C# Excel CO

2009-08-14 09:43:59

C#復制構造函數

2009-08-20 11:03:34

Visual C#使用

2009-09-11 09:10:30

C#編寫游戲

2009-09-11 09:15:06

C# get方法

2009-09-10 14:52:55

C# get

2009-08-20 16:15:19

C# 匿名方法

2009-08-10 17:36:17

C#擴展方法

2009-08-14 10:35:25

C#最小化編寫
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品久久精品 | 中文字幕精品一区二区三区精品 | 久久青 | 国产中文字幕在线 | 日日摸日日碰夜夜爽亚洲精品蜜乳 | 国产精品成人一区二区三区夜夜夜 | 日韩欧美国产成人一区二区 | 综合婷婷 | 国产一区二区三区久久 | 欧美日韩视频 | 日韩中文字幕一区 | av片免费 | 日韩精品一区二区三区视频播放 | 北条麻妃99精品青青久久主播 | 欧产日产国产精品国产 | 国产精品毛片一区二区在线看 | 九九热精品视频 | 国产一区在线免费观看视频 | 日本国产一区二区 | 欧美精品一区在线观看 | 亚洲人在线播放 | 亚洲精品一二区 | 国产精品久久久久久久久久久久午夜片 | 懂色av色香蕉一区二区蜜桃 | 欧美在线一区二区三区四区 | 久久久久久女 | 成人精品久久日伦片大全免费 | 国产成人99av超碰超爽 | 国产精品久久久久久久免费大片 | 日韩欧美大片在线观看 | 欧美精品一区二区三区在线播放 | 夜色www国产精品资源站 | www.天天干.com | 日韩国产免费观看 | 免费黄色片在线观看 | julia中文字幕久久一区二区 | www.婷婷 | 欧美一二三四成人免费视频 | 日本在线免费看最新的电影 | 99爱免费| 91精品国产欧美一区二区 |