我已經做了一些四處張望,沒有人能夠回答這個問題。我有一個靜態的主要void,它看起來應該工作。不包含適用於入口點的靜態「主」方法;
編譯:
CodeDomProvider codeProvider = CodeDomProvider.CreateProvider("CSharp");
string Output = "Out.exe";
System.CodeDom.Compiler.CompilerParameters parameters = new CompilerParameters();
//Make sure we generate an EXE, not a DLL
parameters.GenerateExecutable = true;
parameters.OutputAssembly = Output;
CompilerResults results = codeProvider.CompileAssemblyFromSource(parameters, Properties.Resources.source);
if (results.Errors.Count > 0)
{
foreach (CompilerError CompErr in results.Errors)
{
WinBody.Text =
"Line number " + CompErr.Line +
", Error Number: " + CompErr.ErrorNumber +
", '" + CompErr.ErrorText + ";" +
Environment.NewLine + Environment.NewLine;
}
}
else
{
//Successful Compile
MessageBox.Show("yay");
}
的Source.txt
using System;
namespace HelloWorld
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class HelloWorldClass
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
Console.ReadLine();
}
}
爲什麼我在這得到一個錯誤?我真的不明白。這個相同的代碼適用於我的其他項目。
同樣的錯誤。還是行不通。 – user3818701 2014-09-04 22:25:14
@SamIam在C#中沒有要求'Main'公開。 – 2014-09-04 22:25:57
@ user3818701您是否嘗試將'CompilerParameters'實例的'MainClass'屬性設置爲'HelloWorldClass'? – 2014-09-04 22:30:47