첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
본 블로그는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 블로그 콘텐츠 향상을 위해 쓰여집니다.

728x90
반응형
728x170

TestProject.zip
다운로드

▶ Program.cs

using System;
using System.CodeDom.Compiler;
using System.Reflection;

namespace TestProject
{
    /// <summary>
    /// 프로그램
    /// </summary>
    class Program
    {
        //////////////////////////////////////////////////////////////////////////////////////////////////// Method
        ////////////////////////////////////////////////////////////////////////////////////////// Static
        //////////////////////////////////////////////////////////////////////////////// Private

        #region 프로그램 시작하기 - Main()

        /// <summary>
        /// 프로그램 시작하기
        /// </summary>
        private static void Main()
        {       
            Console.Title = "CodeDomProvider 클래스 : 런타임에서 C# 코드를 동적으로 컴파일하고 DLL 파일 생성하기";

            CompilerParameters parameters = new CompilerParameters();

            parameters.GenerateExecutable = false;

            parameters.OutputAssembly = "d:\\TestSample.dll";

            string code = @"
namespace TestProject
{
    public class TestClass
    {
        public static int Value = 100;
    }
}
";

            CompilerResults result = CodeDomProvider.CreateProvider("CSharp").CompileAssemblyFromSource(parameters, code);

            Assembly assembly = Assembly.LoadFrom("d:\\TestSample.dll");

            Type type = assembly.GetType("TestProject.TestClass");

            FieldInfo fieldInfo = type.GetField("Value");

            object value = fieldInfo.GetValue(null);

            Console.WriteLine(value);
        }

        #endregion
    }
}
728x90
반응형
그리드형(광고전용)
Posted by icodebroker

댓글을 달아 주세요