一千萬個為什麽

搜索

C#編譯器和Windows.Forms

我剛剛創建了一個使用C#編譯器以編程方式編譯代碼的小應用程序,它的工作非常出色。但是,我需要它做的一件事是編譯Windows.Forms代碼。就像,我可以用它創建一個控制臺應用程序,但我無法創建基於GUI的表單。這是讓我開始的鏈接:

http://support.microsoft.com/kb/304655

有人可以幫忙嗎?

謝謝 :)

更新

using System;
using System.Collections;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Diagnostics;
using System.Drawing.Design;
using System.Windows.Forms;
using System.Windows.Forms.Design;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            MessageBox.Show("hi jason");
        }
    }
}

上面的代碼是我在我的應用程序中鍵入的內容。當我嘗試編譯這段代碼時,我的應用程序給了我很多錯誤,並且不會產生exe(顯然)。但是,我的應用程序總是成功編譯直接的控制臺應用程序...

最佳答案

你有同樣的問題我做了。

您需要做的就是告訴編譯器將程序編譯為winexe。為此,只需將其添加到CompilerParams:

CompilerParams.CompilerOptions = "/target:winexe";

但請註意,這將使用默認圖標(看起來很糟糕!)編譯它,因此您需要添加其他參數:

if (File.Exists(iconPath))
    CompilerParams.CompilerOptions = "/target:winexe" + " " + "/win32icon:" + "\"" + iConPath + "\"";
else
    CompilerParams.CompilerOptions = "/target:winexe";

這樣它會在嘗試放入之前檢查圖標是否存在,為您省去一些我必須經歷的麻煩....

轉載註明原文: C#編譯器和Windows.Forms