飛信VMDotNet使C#程式脫離.NET FRAMEWORK也能啟動並執行一些心得

來源:互聯網
上載者:User
之前看到有用別的方法來實現的,但我還是選擇了現在比較流行的軟體飛信中帶的VMDotNet,也就是所謂的.NET FRAMEWORK虛擬機器吧。相信有很多人也已經看過相關文章了,但是對於新手我還是再提一下,在你的飛信的安裝目錄下有一個VMDotNet檔案夾,這個就是我們要用的最主要的內容了,先把它COPY出來吧!

        下面先來簡單說明一下VMDotNet檔案夾吧,在這個檔案夾之下有一個v2.0.50727檔案夾,很明顯是.NET FRAMEWORK的版本號碼啦,進入這個檔案夾,裡面有一個FetionVM.exe的可執行檔(飛信的表徵圖),這個便是我們要用到的虛擬機器檔案了。其它檔案我們不用考慮。這個程式可以帶入一個參數,即要在此虛擬環境下啟動並執行程式的路徑。形如FetionVM.exe C:\1.exe,也可以使用相對路徑:FetionVM.exe 1.exe,當然這樣要求兩者在同一目錄下啦。這裡順便要再說一下VMDotNet.log這個檔案,這裡記錄了在調用FetionVM.exe時的錯誤資訊,主要是路徑不對,找不到對應的程式。在瞭解了這個檔案夾之後,我們可以動手開始做啦!

        把這個檔案夾複製到你的項目的DEBUG目錄下,我的已有項目名為PicProcessor,產生的可執行檔為,當然你也可以視情況而定了,如果放別的地方就應該注意一下路徑就好了。

        在這裡我們需要再建立一個C#應用程式項目,我把它命名為PicStart,把FORM1.CS刪除,或者直接建立一個控制台程式,在Program.cs中寫入以下代碼:

using System;
using System.Collections.Generic;
using System.Windows.Forms;

namespace PicStart
{
    static class Program
    {
        /// <summary>
        /// 應用程式的主進入點。
        /// </summary>
        [STAThread]
        static void Main()
        {
            //下面是調用外部程式的代碼
            System.Diagnostics.ProcessStartInfo Info = new System.Diagnostics.ProcessStartInfo();
            Info.FileName = "VMDotNet\\v2.0.50727\\FetionVM.exe"; //這裡是你要調用到的外部程式
            Info.Arguments = "PicProcessor.exe"; //調用外部程式的參數,這裡是圖片處理項目的可執行檔,注意不是現在這個項目的可執行檔
            System.Diagnostics.Process Proc;

            try
            {
                //
                //啟動外部程式
                //
                Proc = System.Diagnostics.Process.Start(Info);
            }
            catch (System.ComponentModel.Win32Exception e)
            {
                Console.WriteLine("系統找不到指定的程式檔案。\r{0}", e);
                return;
            }
        }
    }
}

        在做完了這個項目以後我們產生此項目,這個時候我們就可以開始製作程式的安裝檔案了。

         以前我們利用VS2005做安裝包的時候可以選擇把.NET FRAMEWORK整合進去,但現在我們不用了,請大家把相應的選項全部去掉,還不會使用VS2005安裝和部署功能的朋友請到此網址去看一下。http://www.vs2005.com/Setup/205/1/default.aspx

         我們把PicProcessor和PicStart項目都添加進建立的安裝和部署項目Setup中來,把程式啟動的捷徑全部設為PicStart.exe就可以了,具體的操作方法在上面的連結裡有。然後開始產生安裝包,產生的安裝包如果選擇大小優先的話,VMDotNet會佔用大概10Mb左右的空間,然後加上你程式的大小就是這個安裝檔案的大小了,比以前20多MB的.Net Framework小多了,而且安裝速度也要快的多,這樣程式在沒有.Net Framework的機器上也能運行了

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.