Я немного огляделся, и никто не смог ответить на это. У меня статическая основная пустота, и похоже, что она должна работать.Не содержит статического «основного» метода, подходящего для точки входа;
Компилятор:
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
@SamIam В C# нет требования, чтобы 'Main' был общедоступным. –
@ user3818701 Вы пытались установить свойство 'MainClass' вашего экземпляра' CompilerParameters' на 'HelloWorldClass'? –