中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在Win界面上完成C#編譯

發布時間:2021-07-15 15:29:39 來源:億速云 閱讀:226 作者:chen 欄目:編程語言

這篇文章主要介紹“怎么在Win界面上完成C#編譯”,在日常操作中,相信很多人在怎么在Win界面上完成C#編譯問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么在Win界面上完成C#編譯”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

本文只是可以讓大家擺脫csc的約束,在Win界面上完成C#編譯編譯.

在C#編譯過程中你必須以下面的步驟完成:

1.建立一個CSharpCodeProvider 實例(如果是使用Visual Basic則使用VBCodeProvider)

2.包含接口ICodeCompiler

3.提供CompilerParameters的參數

4.使用CompileAssemblyFromSource方法編譯。

5.運行CompilerResults

6.執行C#編譯好的程序

編譯的代碼可以是寫在文本框中的字符串,當然也可以源文件。

private void button1_Click(object   sender, System.EventArgs e)   {   CSharpCodeProvider codeProvider =   new CSharpCodeProvider();   // For Visual Basic Compiler try this :   //Microsoft.VisualBasic.VBCodeProvider    ICodeCompiler compiler =   codeProvider.CreateCompiler();   CompilerParameters parameters =   new CompilerParameters();    parameters.GenerateExecutable = true;   if (appName.Text == "")   {   System.Windows.Forms.MessageBox.Show(this,   "Application name cannot be empty");   return ;   }    parameters.OutputAssembly = appName.  Text.ToString();    if (mainClass.Text.ToString() == "")   {   System.Windows.Forms.MessageBox.Show(this,   "Main Class Name cannot be empty");   return ;   }    parameters.MainClass =  mainClass.Text.ToString();   parameters.IncludeDebugInformation =   includeDebug.Checked;    // Add available assemblies - this   should be enough for the simplest   // applications.   foreach (Assembly asm in AppDomain.  CurrentDomain.GetAssemblies())   {   parameters.ReferencedAssemblies.  Add(asm.Location);   }    String code = textBox1.Text.ToString();   //System.Windows.Forms.MessageBox.  Show(this, code);    CompilerResults results =   compiler.CompileAssemblyFromSource  (parameters, code);    if (results.Errors.Count > 0)   {   string errors = "Compilation failed:\n";   foreach (CompilerError err   in results.Errors)   {   errors += err.ToString() + "\n";   }   System.Windows.Forms.MessageBox.  Show(this, errors,   "There were compilation errors");   }   else   {   #region Executing generated executable   // try to execute application   try   {   if (!System.IO.File.Exists(appName.  Text.ToString()))   {   MessageBox.Show(String.Format("Can't   find {0}", appName),   "Can't execute.", MessageBoxButtons.OK,   MessageBoxIcon.Error);   return;   }   ProcessStartInfo pInfo =   new ProcessStartInfo(appName.Text.ToString());   Process.Start(pInfo);   } it55.com   catch (Exception ex)   {   MessageBox.Show(String.Format(  "Error while executing {0}",   appName) + ex.ToString(),   "Can't execute.",   MessageBoxButtons.OK,   MessageBoxIcon.Error);   }   #endregion   }   }

到此,關于“怎么在Win界面上完成C#編譯”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

三河市| 金川县| 乐都县| 江北区| 股票| 家居| 洛川县| 河南省| 赤峰市| 林芝县| 宜章县| 古交市| 开阳县| 杭州市| 临澧县| 苏尼特左旗| 蓝田县| 乾安县| 华坪县| 长宁区| 沁阳市| 玉门市| 正定县| 泰兴市| 新宁县| 玛曲县| 天全县| 苗栗县| 左云县| 任丘市| 嘉义市| 剑河县| 百色市| 临清市| 永泰县| 凤山市| 昌都县| 民县| 横山县| 荔浦县| 当涂县|