c#程序是通過安裝.net安裝包才能運行的,因此有時候很不方便,必須要用戶安裝一個.net安裝包,雖然系統(tǒng)會帶有這個,但是還有相當(dāng)?shù)碾娔X是不裝這個的。這樣我們怎么才能避免這個問題呢。查了很多資料和網(wǎng)上的同行們的說法。總的來說也只有兩種方式:借用其它工具和縮減.net的dll。前者是為了達到貌似的跨平臺,后者是為了減少.net環(huán)境的大小來避免不方便的問題。下面以.net framework 2.0環(huán)境為例。
成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),萊州企業(yè)網(wǎng)站建設(shè),萊州品牌網(wǎng)站建設(shè),網(wǎng)站定制,萊州網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,萊州網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。一、借用工具,不安裝.net framework 2.0
這種方式有兩種普遍使用的方法,借用飛信的虛擬.net環(huán)境和使用MONO啟動程序。
1、使用飛信虛擬機的方式。下載飛信安裝文件http://www.skycn.com/down.php?uri=http://skycn.gjwww.com:82/down/Fetion2008_skycn.zip,安裝成功后,在安裝目錄下:China Mobile\Fetion\VMDotNet\v2.0.50727(不同的版本目錄不太一樣,但是都有一個VMDotNet文件夾,找到它)FetionVM.exe這個文件,把你的C#運行程序拷貝到這里,用FetionVM.exe啟動你的exe,例如可以寫成批處理:execute.bat
FetionVM.exe 你的.exe
這個文件和你的程序都放在飛信的FetionVM.exe文件在一個目錄下就可以了。
2、使用MONO。過程和使用飛信一樣,下載http://download.mono-project.com/archive/2.10.6/windows-installer/1/mono-2.10.6-gtksharp-2.12.11-win32-1.exe,安裝后,安裝目錄Mono-2.10.6下,就是含有bin和lib這兩個文件夾的那個目錄,同樣把程序拷過來,調(diào)用,依然以批處理為例:execute.bat
bin\mono.exe 你的.exe
批處理文件和程序放在同一個目錄。
這兩種方式我測試過,一些簡單的WinForm程序都能運行,不用裝.net環(huán)境,但是大型的軟件涉及到數(shù)據(jù)庫的就運行不了了,可能是不支持?jǐn)?shù)據(jù)庫的原因吧。
二、縮減.net安裝包
這個方法就是安裝.net環(huán)境后,刪掉不用的.net里的dll,將剩余的dll手動注冊,這個操作起來有些麻煩,需要不斷地刪除dll然后運行程序測試,而且經(jīng)過刪除的.net環(huán)境只適用你的程序,沒有通用性,但是這個是可以減少.net環(huán)境的大小的,就減少了程序安裝包的大小。
但是這個有一個問題是,.NET 2.0安裝包大約23M左右,安裝完成后大小在200M左右,也就是要在200M中刪減不用的DLL。曾經(jīng)做過實驗,當(dāng)刪減到剛好保持軟件運行的大小,使用壓縮工具壓縮剩余的DLL,發(fā)現(xiàn)壓縮后的結(jié)果依然有20多M,也就是說,所以還不如直接使用.net安裝包。
當(dāng)然應(yīng)該還有更多的方法解決.net的問題,后面有了新的結(jié)果,再共享給大家。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。