질문이 있습니다. .exe
에서 파일 을 해제하는 방법 string input
?
exe
Hello World C#
예제 로 컴파일하고 싶습니다 . 내 코드는 다음과 같습니다.
var code = input.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
var provider = CodeDomProvider.CreateProvider("CSharp");
string exeName = string.Format("test.exe", Environment.CurrentDirectory);
var parameters = new CompilerParameters
{
GenerateExecutable = true,
OutputAssembly = exeName,
GenerateInMemory = false,
TreatWarningsAsErrors = false
};
parameters.ReferencedAssemblies.Add("System.dll");
var compilerResults = provider.CompileAssemblyFromSource(parameters, code);
if (compilerResults.Errors.Count > 0)
//Error
else
//Succes, file saved int Debug folder (exe file)
위의 코드에서, 내가 얻고 싶은 code
대로 string
그럼 내가 만드는, string[]
배열 (각 배열의 기록이 코드의 다음 줄입니다). 그런 다음 해당 exe
파일을 Debug
폴더 에 저장하고 싶습니다 .
그러나 대한, 지금부터 compilerResults.Errors
내가 얻을 32
오류를 그 다음과 같다 :
나는이 기능을 c#
언어 에 매핑하는 것에 대해 확신 합니다. 어떤 아이디어, 내가 뭘 잘못하고 있니?
편집하다:
code
배열은 다음과 같습니다.
CodeDomProvider.CreateAssemblyFromSource
배열의 각 문자열이 소스 파일 이 될 것으로 예상합니다 . 요소 당 한 줄을 제공합니다 .
즉, Split
시작 하기 위해 전화를 걸 필요가 없습니다 . 다음을 사용하십시오.
var code = new[] { input };
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다