-
Notifications
You must be signed in to change notification settings - Fork 20
Components Compile
SO HYUN SEOP edited this page Mar 18, 2018
·
8 revisions
설계된 로직의 컴파일을 수행하는 라이브러리 입니다.
외부 참조를 자동으로 검색하고 최종 소스를 컴파일하여 실행 파일을 생성합니다.
var compiler = new GCompiler
{
Source = csharpCode,
XAML = xamlCode
};
var compilerConfig = new GCompilerConfig
{
IsCompressed = true,
Title = "My Sample Program",
Version = "1.0.0.0"
};
compiler.Build(@"C:\MyProgram.exe", compilerConfig);위와 같은 방법으로 컴파일러를 초기화할 수 있습니다. GCompiler의 Source속성은 컴파일할 소스 코드 문자열이며 그래픽 인터페이스가 존재하는 프로그램의 경우 XAML 속성을 통해 코드를 입력할 수 있습니다. GCompilerConfig은 컴파일 구성을 담은 객체로 프로그램의 어셈블리 정보와 압축등의 여부를 설정할 수 있습니다.
compiler.LoadReference(@"C:\MyModule.dll")위와 같은 방법으로 외부 참조를 추가할 수 있습니다. 일반적으로 확장 모듈을 사용하는 경우 성공적으로 컴파일하기 위해서는 해당 모듈을 참조로 추가해야합니다. 본 함수를 통해 참조를 추가하는 경우 종속된 외부 참조는 어셈블리 분석기를 통해 자동으로 추가가 이루어지기 때문에 별도로 참조 목록에 추가할 필요가 없습니다.
compiler.LoadDependencies(@"C:\MyModule\Dependencies")또한 위와 같은 방법으로 관리되지 않는 참조를 컴파일시에 자동으로 복사할 수 있도록 추가할 수 있습니다. 일반적으로 이미지 또는 오디오등의 데이터가 여기에 해당됩니다.
var result = compiler.Build(@"C:\MyProgram.exe", compilerConfig);
if (!result.IsSuccess)
{
foreach (var error in result.Results.Errors)
{
Console.WriteLine(error);
}
}빌드 함수는 컴파일 결과를 포함한 CompilerResults를 반환합니다. IsSuccess속성은 컴파일의 성공 여부를 나타내며 Results 속성을 통해 자세한 오류 및 경고를 확인할 수 있습니다.