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. 將IronPython代碼編譯爲EXE或DLL
- 3. 保存並自動編譯
- 4. Python編譯爲.exe
- 5. 爲什麼我的C代碼沒有被編譯爲EXE
- 6. 是否將java代碼編譯爲exe文件(例如,使用Launch4Java)確保代碼無法逆向設計?
- 7. 不能保存編碼文本在Python
- 8. Azure功能應用程序:在EXE中編譯代碼
- 9. 是否可以在Mac上將C++代碼編譯爲.exe文件?
- 10. 將Perl腳本編譯爲.exe錯誤
- 11. 在ubuntu中編譯/編譯源代碼
- 12. Visual Studio代碼 - 僅編譯保存或更改的文件
- 13. Ionic將代碼編譯爲本機?
- 14. 將C++代碼編譯爲.EXE,返回雙重
- 15. 我的exe文件不執行後我反編譯,並改變了代碼
- 16. 編譯perl腳本的.EXE
- 17. 將gcc編譯狀態保存爲Java的文本文件
- 18. 代碼樣本框 - 如何選擇框中的所有文本,並保存在一個點擊AutoHotkey的
- 19. 如何在運行時編譯中保存生成的exe文件
- 20. 腳本編譯C代碼
- 21. 將C++(.cpp)編譯爲.exe文件
- 22. 將C#編譯爲2個exe文件
- 23. 將.cpp文件編譯爲Program(exe)裏面的.exe文件?
- 24. Visual Studio編譯但exe不存在
- 25. 將Crystal Reports編譯爲exe
- 26. .exe MATLAB文件反編譯
- 27. C#編譯爲MSIL代碼
- 28. Java代碼是否保存在本機編譯的類數據共享存檔(classes.jsa)中,或者是字節碼?
- 29. Perl代碼將ANSI編碼格式的xml文件保存爲UTF-8編碼
- 30. 使用文本框編寫代碼
您是否自己對此主題進行過任何研究?如果是這樣,你發現了什麼? – 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