您好,登錄后才能下訂單哦!
c#程序是通過安裝.net安裝包才能運行的,因此有時候很不方便,必須要用戶安裝一個.net安裝包,雖然系統會帶有這個,但是還有相當的電腦是不裝這個的。這樣我們怎么才能避免這個問題呢。查了很多資料和網上的同行們的說法。總的來說也只有兩種方式:借用其它工具和縮減.net的dll。前者是為了達到貌似的跨平臺,后者是為了減少.net環境的大小來避免不方便的問題。下面以.net framework 2.0環境為例。
一、借用工具,不安裝.net framework 2.0
這種方式有兩種普遍使用的方法,借用飛信的虛擬.net環境和使用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這兩個文件夾的那個目錄,同樣把程序拷過來,調用,依然以批處理為例:execute.bat
bin\mono.exe 你的.exe
批處理文件和程序放在同一個目錄。
這兩種方式我測試過,一些簡單的WinForm程序都能運行,不用裝.net環境,但是大型的軟件涉及到數據庫的就運行不了了,可能是不支持數據庫的原因吧。
二、縮減.net安裝包
這個方法就是安裝.net環境后,刪掉不用的.net里的dll,將剩余的dll手動注冊,這個操作起來有些麻煩,需要不斷地刪除dll然后運行程序測試,而且經過刪除的.net環境只適用你的程序,沒有通用性,但是這個是可以減少.net環境的大小的,就減少了程序安裝包的大小。
但是這個有一個問題是,.NET 2.0安裝包大約23M左右,安裝完成后大小在200M左右,也就是要在200M中刪減不用的DLL。曾經做過實驗,當刪減到剛好保持軟件運行的大小,使用壓縮工具壓縮剩余的DLL,發現壓縮后的結果依然有20多M,也就是說,所以還不如直接使用.net安裝包。
當然應該還有更多的方法解決.net的問題,后面有了新的結果,再共享給大家。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。