다른 Windows Form 응용 프로그램을 만들 수있는 Windows Form 응용 프로그램을 만들려고합니다. 하지만 내가 C# 코드에서 CodeDom으로 컴파일하려고 할 때 나타나는 오류는 이상한 것입니다. 클래스 "RunLauncher"이 (http://msdn.microsoft.com/) 사이트에서 설명 된 기본 설정으로, 주요 방법이 없기 때문에적합한 기본 메서드를 찾을 수 없습니다.
'kjpUnityGameLauncherTemplate.RunLauncher' does not have a suitable static Main method
이 좀 나를 혼란.
RunLauncher 클래스 : (주 메소드가)http://pastebin.com/NU3VYwpv 내가 실제로 통해이 컴파일 사용하고
코드입니다. 된 CodeDom은 이것이다 :
if (codeProvider.Supports(GeneratorSupport.EntryPointMethod))
{
parameters.MainClass = "kjpUnityGameLauncherTemplate.RunLauncher";
}
CodeCompileUnit compileUnits = new CodeCompileUnit();
CodeNamespace nsp = new CodeNamespace("kjpUnityGameLauncherTemplate");
parameters.CompilerOptions = "/main:kjpUnityGameLauncherTemplate.RunLauncher";
CodeTypeDeclaration class1 = new CodeTypeDeclaration("RunLauncher");
nsp.Types.Add(class1);
CodeTypeDeclaration class2 = new CodeTypeDeclaration("kjpUnityGameLauncher");
nsp.Types.Add(class2);
CodeTypeDeclaration class3 = new CodeTypeDeclaration("Launcher");
nsp.Types.Add(class3);
nsp.Imports.Add(new CodeNamespaceImport("kjpUnityGameLauncherTemplate"));
compileUnits.Namespaces.Add(nsp);
CompilerResults results = icc.CompileAssemblyFromDom(parameters, compileUnits);
는 변수 "codeProvider"등의 선언과 같은 다른 물건을 Theres는하지만 사람들은 내가 그들을 포함되지 않은 이유는이 경우에 문제가되지 않습니다.
에있는 한 아래 나는 이것이 첫 번째 C# 윈도우 응용 프로그램 양식입니다 염치없는거야? – Goober
생성 된 소스를 보여 주거나,'Main()'메소드를 생성하는 코드를 보여줍니다. – SLaks
아니요, 새 .exe가 작동 할 때 새 Windows 양식 응용 프로그램을 컴파일하는 Windows 양식 응용 프로그램입니다. 첫 번째 앱의 버튼을 클릭하고 위의 "컴파일 코드"를 사용하고 새 애플리케이션의 새 기본 클래스를 사용하는 섹션입니다. 따라서 기본적으로 2 개의 Main 클래스가 있으며, 하나는 코드를 통해 생성 된 클래스에만 영향을 미칩니다. –