Skip to content

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 속성을 통해 자세한 오류 및 경고를 확인할 수 있습니다.

Clone this wiki locally