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盤的其他位置,而且還向登錄檔新增了許多專...