0
A
回答
4
是的,這是可能的。您可以使用CodeDOM。而這裏的an example:
using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.CSharp;
using System.CodeDom.Compiler;
class Program
{
static void Main(string[] args)
{
var csc = new CSharpCodeProvider(new Dictionary<string, string>() { { "CompilerVersion", "v3.5" } });
var parameters = new CompilerParameters(new[] { "mscorlib.dll", "System.Core.dll" }, "foo.exe", true);
parameters.GenerateExecutable = true;
CompilerResults results = csc.CompileAssemblyFromSource(parameters,
@"using System.Linq;
class Program {
public static void Main(string[] args) {
var q = from i in Enumerable.Rnge(1,100)
where i % 2 == 0
select i;
}
}");
results.Errors.Cast<CompilerError>().ToList().ForEach(error => Console.WriteLine(error.ErrorText));
}
}
+0
謝謝,真的很有幫助。 – 2012-04-16 16:27:36
0
除了在運行時編譯的代碼,你可以從你的文本保存到磁盤的代碼,然後用csc.exe
編譯它。該命令看起來類似於以下內容:
%systemroot%\Microsoft.NET\Framework\v3.5\csc /out:filename.exe filename.cs
相關問題
- 1. 編譯代碼和「保存」庫版本
- 2. 編譯VB代碼到EXE
- 3. 將IronPython代碼編譯爲EXE或DLL
- 4. 編譯並運行代碼爲dmg或exe
- 5. 將python代碼編譯爲一個exe文件
- 6. PowerShell不要編譯C#代碼爲.exe文件
- 7. 保存後不會編譯Arduino代碼
- 8. Python編譯爲.exe
- 9. 保存並自動編譯
- 10. 爲什麼我的C代碼沒有被編譯爲EXE
- 11. 是否將java代碼編譯爲exe文件(例如,使用Launch4Java)確保代碼無法逆向設計?
- 12. 如何將java源代碼保存在xml文件中,並在IDE中進行編輯/編譯?
- 13. 不能保存編碼文本在Python
- 14. 在eclipse中編譯樣本JNI代碼
- 15. Azure功能應用程序:在EXE中編譯代碼
- 16. 是否可以在Mac上將C++代碼編譯爲.exe文件?
- 17. 將Perl腳本編譯爲.exe錯誤
- 18. 在ubuntu中編譯/編譯源代碼
- 19. Visual Studio代碼 - 僅編譯保存或更改的文件
- 20. 繪製形狀並將文件保存爲文本,編碼和解碼
- 21. Xamarin無法編譯爲本機代碼
- 22. Ionic將代碼編譯爲本機?
- 23. 重新編譯爲* .Jar反編譯並修復代碼後?
- 24. 將C++代碼編譯爲.EXE,返回雙重
- 25. 我的exe文件不執行後我反編譯,並改變了代碼
- 26. 編譯perl腳本的.EXE
- 27. 將gcc編譯狀態保存爲Java的文本文件
- 28. 腳本編譯C代碼
- 29. 如何在運行時編譯中保存生成的exe文件
- 30. 代碼樣本框 - 如何選擇框中的所有文本,並保存在一個點擊AutoHotkey的
您是否自己對此主題進行過任何研究?如果是這樣,你發現了什麼? – 2012-04-16 16:18:44
是的,我發現只是運行時編譯,但沒有保存。 – 2012-04-16 16:19:30
你有沒有在這裏看看http://www.codeproject.com/Articles/9019/Compiling-and-Executing-Code-at-Runtime – 2012-04-16 16:20:58