2012-04-30 3 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, приложение и запустить его?

Меня интересует логика load/execute; программа может быть чем угодно: от консольного приложения до другого приложения winform.

Отражает ли это отражение?

+0

Проверьте ScriptEngine в Roslyn http://msdn.microsoft.com/en-us/roslyn –

+0

благодарит Брайана. – user1327073

ответ

2

ли рамки .NET любые классы, которые позволяют запускать (обобщать, интерпретировать или любой другой), внешний файл сценария, содержащий C# код?

Да, вы можете использовать класс CodeDomProvider.

Как загрузить код выше, изнутри winform, app и выполнить ?

Ну, после компиляции C# код, используя выше класс, вы можете использовать ProcessStartInfo класс и передать его в качестве аргумента Start метода из Process класса, а затем читать StandardOutput поток, сохранить его на веревочке и шоу, как вы хотите, Console.Write(), MessageBox.Show() и т. д.

2

Я бы уточнил API-интерфейсы Roslyn. Вы можете делать все, что захотите, пока вы предоставляете действительный код C# o VB.NET.

Смежные вопросы