2012-04-30 4 views
4

.NET Framework에 C# 코드가 포함 된 외부 스크립트 파일을 실행 (컴파일, 해석 또는 기타) 할 수있는 클래스가 있습니까?프로그램에서 외부 C# 파일을 실행

예를 들어

, 내가 파일 Hello.cs이 포함 된 경우 :

class Hello 
//This program displays Hello World 
{ 
    static public void Main() 
    { 
     System.Console.WriteLine("Hello World"); 
    } 
} 

은 내가 어떻게이의 WinForm, 응용 프로그램 내에서, 위의 코드를로드하고 실행할 수 있습니까?

로드/실행 논리에 관심이 있습니다. 이 프로그램은 콘솔 앱에서 다른 winform 앱에 이르기까지 다양합니다.

리플렉션이 이것을 허용합니까?

+0

Roslyn의 ScriptEngine을 확인하십시오. http://msdn.microsoft.com/en-us/roslyn –

+0

Brian에게 감사드립니다. – user1327073

답변

2

는 .NET 프레임 워크는 실행을 허용 (해석 컴파일하거나 무엇이든) 어떤 클래스 C 번호를 코드가 포함 된 외부 스크립트 파일이 있습니까?

예, CodeDomProvider 클래스를 사용할 수 있습니다.

위의 코드를 winform, app 내에서로드하고 실행하는 방법은 무엇입니까?

음, 후 위의 클래스를 사용하여 C# 코드를 컴파일, 당신은 ProcessStartInfo 클래스를 사용하고 Process 클래스에서 Start 방법의 인수로 전달하고 StandardOutput 스트림을 읽고, 문자열 및 쇼로 저장할 수 있습니다 원하는, Console.Write(), MessageBox.Show()

2

나는 Roslyn API를 검사 할 것이다. 유효한 C# VB.NET 코드를 제공하는 한 원하는 것을 할 수 있습니다.

관련 문제