
نوشته شده توسط
amir-yeketaz
من یه پروژه دارم که قراره از یه سری کارا که میکنم که الان مهم نیست

یه سری کد تولید کنه و بعدشم میخوام که از این فایل کد سی شارپ(.cs) یه فایل exe (اجرایی) تولید کنه... حالا چیکار کنم؟! با تشکر ...
سلام.
فرض می کنم که EXE ی مورد نظر رو می خواهید توسط C# Compiler نسخه 4 ایجاد کنید. برای اینکار، می تونید بدین شکل عمل کنید:
CodeDomProvider provider = CodeDomProvider.CreateProvider("CSharp", new Dictionary<string, string> { { "CompilerVersion", "v4.0" } });
CompilerParameters parameters = new CompilerParameters
{
GenerateExecutable = true,
OutputAssembly = "output.exe",
};
parameters.ReferencedAssemblies.AddRange(new string[] { "System.Windows.Forms.dll" });
string source =
"using System;" +
"using System.Windows.Forms;" +
"namespace Whatever" +
"{" +
" static class Program" +
" {" +
" [STAThread]" +
" static void Main()" +
" {" +
" MessageBox.Show(\"Test\");" +
" }" +
" }" +
"}";
CompilerResults results = provider.CompileAssemblyFromSource(parameters, source);
کد فوق، EXE ای به اسم output.exe ایجاد می کنه که پس از اجرا کردن، باعث باز شدن پنجره ای و نمایش عبارت Test در اون پنجره میشه...
تنها نکته ای که باید در کدتون منظور کنید اینه که results نهایی رو چک کنید تا فاقد Error باشه، در غیر اینصورت EXE ی مورد نظر تولید نخواهد شد...
موفق باشید.