脫離.net framework的C#程序
脫離.net framework的C#程序是如何實(shí)現(xiàn)的呢?之前看到有用別的方法來(lái)實(shí)現(xiàn)的,但我還是選擇了現(xiàn)在比較流行的軟件飛信中帶的VMDotNet,也就是所謂的.NET FRAMEWORK虛擬機(jī)吧。相信有很多人也已經(jīng)看過(guò)相關(guān)文章了,但是對(duì)于新手我還是再提一下,在你的飛信的安裝目錄下有一個(gè)VMDotNet文件夾,這 個(gè)就是我們要用的最主要的內(nèi)容了,先把它COPY出來(lái)吧!
下面先來(lái)簡(jiǎn)單說(shuō)明一下VMDotNet文件夾吧,在這個(gè)文件夾之下有一個(gè)v2.0.50727文件夾,很明顯是.NET FRAMEWORK的版本號(hào)啦,進(jìn)入這個(gè)文件夾,里面有一個(gè)FetionVM.exe的可執(zhí)行文件(飛信的圖標(biāo)),這個(gè)便是我們要用到的虛擬機(jī)文件了。其 它文件我們不用考慮。這個(gè)程序可以帶入一個(gè)參數(shù),即要在此虛擬環(huán)境下運(yùn)行的程序的路徑。形如FetionVM.exe C:\1.exe,也可以使用相對(duì)路徑:FetionVM.exe 1.exe,當(dāng)然這樣要求兩者在同一目錄下啦。這里順便要再說(shuō)一下VMDotNet.log這個(gè)文件,這里記錄了在調(diào)用FetionVM.exe時(shí)的錯(cuò)誤 信息,主要是路徑不對(duì),找不到對(duì)應(yīng)的程序。在了解了這個(gè)文件夾之后,我們可以動(dòng)手開(kāi)始做啦!
把這個(gè)文件夾復(fù)制到你的項(xiàng)目的DEBUG目錄下,我的已有項(xiàng)目名為PicProcessor,生成的可執(zhí)行文件為,當(dāng)然你也可以視情況而定了,如果放別的地方就應(yīng)該注意一下路徑就好了。
在這里我們需要再新建一個(gè)C#應(yīng)用程序項(xiàng)目,我把它命名為PicStart,把FORM1.CS刪除,或者直接新建一個(gè)控制臺(tái)程序。
在Program.cs中寫入以下脫離.net framework的C#程序代碼:
- using System;
- using System.Collections.Generic;
- using System.Windows.Forms;
- namespace PicStart
- {
- static class Program
- {
- /// <summary>
- /// 應(yīng)用程序的主入口點(diǎn)。
- /// </summary>
- [STAThread]
- static void Main()
- {
- //下面是調(diào)用外部程序的代碼
- System.Diagnostics.ProcessStartInfo Info =
- new System.Diagnostics.ProcessStartInfo();
- Info.FileName = "VMDotNet\\v2.0.50727\\FetionVM.exe";
- //這里是你要調(diào)用到的外部程序
- Info.Arguments = "PicProcessor.exe";
- //調(diào)用外部程序的參數(shù),
- //這里是圖片處理項(xiàng)目的可執(zhí)行文件,注意不是現(xiàn)在這個(gè)項(xiàng)目的可執(zhí)行文件
- System.Diagnostics.Process Proc;
- try
- {
- //
- //啟動(dòng)外部程序
- //
- Proc = System.Diagnostics.Process.Start(Info);
- }
- catch (System.ComponentModel.Win32Exception e)
- {
- Console.WriteLine("系統(tǒng)找不到指定的程序文件。\r{0}", e);
- return;
- }
- }
- }
- }
在做完了這個(gè)項(xiàng)目以后我們生成此項(xiàng)目,這個(gè)時(shí)候我們就可以開(kāi)始制作程序的安裝文件了。
以前我們利用VS2005做安裝包的時(shí)候可以選擇把.NET FRAMEWORK集成進(jìn)去,但現(xiàn)在我們不用了,請(qǐng)大家把相應(yīng)的選項(xiàng)全部去掉,還不會(huì)使用VS2005安裝和部署功能的朋友請(qǐng)到此網(wǎng)址去看一下。http://www.vs2005.com/Setup/205/1/default.aspx
我們把PicProcessor和PicStart項(xiàng)目都添加進(jìn)新建的安裝和部署項(xiàng)目Setup中來(lái),把程序啟動(dòng)的快捷方式全部設(shè)為 PicStart.exe就可以了,具體的操作方法在上面的鏈接里有。然后開(kāi)始生成安裝包,生成的安裝包如果選擇大小優(yōu)先的話,VMDotNet會(huì)占用大 概10Mb左右的空間,然后加上你程序的大小就是這個(gè)安裝文件的大小了,比以前20多MB的.Net Framework小多了,而且安裝速度也要快的多,這樣程序在沒(méi)有.Net Framework的機(jī)器上也能運(yùn)行了,大家都試試吧,有什么問(wèn)題可以給我留言。每天晚上一般我都會(huì)上線,會(huì)及時(shí)給大家回復(fù)的!
脫離.net framework的C#程序?qū)崿F(xiàn)的基本內(nèi)容就向你介紹到這里,希望對(duì)你了解和學(xué)習(xí)脫離.net framework的C#程序應(yīng)用有所了解。
【編輯推薦】