如何把C編譯成的DLL放在地方作為全伺服器不同域名呼叫

2021-05-02 22:11:18 字數 1519 閱讀 1514

1樓:

使用全域性程式集gac

關於gac,複製點東西給你:

gac就是c:\windows\assembly資料夾,中文叫全域性程式集快取,把dll放到這個資料夾裡,bin下面就不用放dll了,目的是為了程式集共享。

如何把asp.net**部署到gac裡面

首先在你visual studio的安裝目錄裡找到sn.exe檔案,放到cmd裡執行

sn.exe -k c:\testkey.snk

這樣就會在你c盤的目錄下生成testkey.snk金鑰檔案

然後vs2003

在**專案的assemblyinfo.cs裡面的[assembly: assemblykeyfile("")]做類似如下配置

[assembly: assemblykeyfile(@"c:\testkey.snk

")]注意這裡寫絕對路徑最好,相對路徑很難寫

生成**

這時**的dll就是個強命名程式集,

開啟程式---管理工具---.net framework1.1(或2.0)配置

我的電腦,程式集快取,右鍵新增,把剛生成好的dll新增進去,無錯的話就新增成功了。

這時你可以把自己bin目錄下的dll刪了,但這時網頁還打不開,對webconfig做如下修改

至於assembly後面的dll全名怎麼寫,你可以用反編譯工具reflector.exe去查你的dll,也可以在.net framework1.

1(或2.0)配置裡面找到你的dll查屬性得到。

配好後網頁就應該可以開啟了,如果打不開,重啟下iis

vs2005

要麻煩一點,你生成好snk檔案後,第一步,當你確定好**程式不改了後,點**釋出,在釋出裡面用固定命名和單頁程式集,和對預編譯程式用強命名,下面有一個可以選擇snk檔案的按紐,把snk檔案選進去,釋出**,

然後再用上面的方法把bin目錄裡面的dll加到gac裡面,這時可以把bin目錄裡面的dll刪了。然後配製webconfig如下

節點下這時**應該可以執行。qualifyassembly 在2005裡面是通知執行時去gac找dll的方法

基本上是這樣,但你第一次很可能操作成功不了,所以要注意如下問題

webconfig永遠是在你部署時修改,你要是在開發時修改就有錯

當你都配製好後,要重啟下iis,你更新dll的時候最好也重啟下iis,為什麼呢?

因為執行時是先去找c:\windows\microsoft.net\framework\v1.1.4322\temporary asp.net files

下面的一個叫root 檔案裡面的dll,如果找到了,就不會去gac裡面找了,重啟iis的目的就是為了把裡面的檔案刪除

並不是所有dll都可以放到gac裡面的,比如ajax.dll系列,因為這個dll會生成xml文件,dll在gac裡面,那xml會生成在**呢?所以凡是要生成xml文件的dll都不適合放進去(當然也有解決方案不過麻煩)

2樓:休平凡

編譯成安裝檔案就好了 安裝好後 在登錄檔 裡面就有路徑

怎樣把lua編譯成exe可執行檔案詳細點!最好附圖

常見的方法是用c寫一個宿主 或者 比較方便而且比較現成的方法是載一個luaaioaio就是all in one 的縮寫 把lua.exe改成指令碼入口lua檔名 比如 main.lua 對應的就是main.exe 然後準備好相應的擴充套件需要的dll 就可以執行了 好像沒有現成的方法。都是自己寫個程...

C無法呼叫C 編的DLL,C 中如何呼叫DLL檔案?

就跟你說一下吧來,你源 這種是缺少dll依賴的mainifest導致的 為什bai麼你安裝了vcredist還不行du,這是zhi因為從vc2005 vc2008,crt和mfc庫都有好幾dao個版本,你們開發用的版本跟你安裝的vcredist是不同的版本 那怎麼解決這個問題,很簡單,從你的開發機器...

如何把C盤的東西移到D盤,怎麼把電腦c盤的東西移到D盤?

軟體怎麼從c盤移到d盤?簡單操作,直接搞定 怎麼把電腦c盤的東西移到d盤?系統的檔案你是移不過去的,否則以丟失檔案為主導致電腦開不了機,反而要從裝系統 要移動的話按crtl x剪下到你想放的盤裡!你好!安裝的應用程式軟體會有一些註冊資訊,還有一些檔案被安裝在c盤的其他位置,而且還向登錄檔新增了許多專...