最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP調(diào)用C#開發(fā)的dll類庫方法

 更新時間:2014年07月28日 11:30:50   投稿:junjie  
這篇文章主要介紹了PHP調(diào)用C#開發(fā)的dll類庫方法,包含一個完整的詳細(xì)的DLL制作步驟和PHP調(diào)用方法,需要的朋友可以參考下

有的時候,我們需要在php中利用到其他語言編寫的dll類庫,如C#編寫的dll,方法就是利用PHP new COM方法來調(diào)用,在調(diào)用之前先要把dll庫注冊并把程序集放入到全局緩存中。

1. 創(chuàng)建一個 C# Class Library ,命名為:HelloWorld
2. 打開項目的屬性,在點選左邊的 "Application"(就是第一個tab) , 然后點擊Assembly Information 按鈕 ,在彈出的Dialog中, 必須在底部勾上: Make assembly COM-visible !否則 , 這個dll將不能以COM方式訪問 .(  也可以在代碼中的類聲明中寫上[ComVisible(true)] , 效果一樣,需要增加using System.Runtime.InteropServices;引用)

3. 創(chuàng)建強(qiáng)命名簽名文件并使用
  使用vs.net的“Vsitual Studio .Net工具”-->Vistual Studio .Net命令提示符,輸入 sn -k d:\HelloWorld.snk 回車即創(chuàng)建了強(qiáng)命名簽名文件
  打開項目的屬性,點選左邊Signing 勾上Sign the assembly 在 Choose a strong name key file:處選擇<Browse> 選擇剛才創(chuàng)建的HelloWorld.snk文件

4. 創(chuàng)建類庫并編譯成dll

復(fù)制代碼 代碼如下:
namespace HelloWorld 

    //[ComVisible(true)] //or check "Assembly COM-Visible" at Application-Assembly_Information dialog ; 
    public class Hello 
    { 
        public string Write() 
        { 
            return "Hello World"; 
        } 
    } 
}

 
5. 找到dll文件夾路徑 ,然后使用vs.net的“Vsitual Studio .Net工具”-->Vistual Studio .Net命令提示符
進(jìn)入該dll文件夾下輸入:
復(fù)制代碼 代碼如下:
regasm  HelloWorld.dll<回車>

這時候,這個.dll的.net程序集就變成一個標(biāo)準(zhǔn)的Com組件了,但是還不能用,必須讓它變成全局Com組件.
將程序集添加到全局程序集緩存中
進(jìn)入提示符窗口,輸入:

復(fù)制代碼 代碼如下:
gacutil /I HelloWorld.dll<回車>

 
這時,你的這個dll就被復(fù)制到全局程序集緩存中了.也就是說無論在這個電腦的哪個硬盤上都可以使用此dll組件了.
如果不進(jìn)行強(qiáng)命名簽名,這一步會提示加載失敗

PHP測試:

復(fù)制代碼 代碼如下:
<?php 
$r=new Com("HelloWorld.Hello"); 
$s=$r->Write(); 
echo $s; 
?>
 
命令符下:
復(fù)制代碼 代碼如下:
CD [/D] [drive:][path]  #進(jìn)入指定路徑
CD [..] #返回父目錄

相關(guān)文章

最新評論

临夏县| 通城县| 利辛县| 临江市| 昌图县| 德保县| 汝南县| 宝鸡市| 柳河县| 新竹市| 柘荣县| 甘孜县| 略阳县| 大宁县| 德安县| 赫章县| 西丰县| 韶关市| 琼海市| 泸定县| 河源市| 富民县| 镇雄县| 阿图什市| 万宁市| 清原| 马公市| 建湖县| 平舆县| 抚顺市| 和平区| 宽城| 武定县| 黄山市| 林州市| 思南县| 济南市| 两当县| 茂名市| 大名县| 桓台县|