【问题标题】:running external C# file in a program在程序中运行外部 C# 文件
【发布时间】:2012-04-30 23:32:17
【问题描述】:

.NET 框架是否有任何类允许您运行(编译、解释或其他)包含 C# 代码的外部脚本文件?

例如,如果我有一个文件 Hello.cs 包含以下内容:

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

我怎样才能从winform、应用程序中加载上面的代码并执行它?

我对加载/执行逻辑感兴趣;该程序可以是任何东西,从控制台应用程序到另一个 winform 应用程序。

反射允许这样做吗?

【问题讨论】:

标签: .net winforms c#-4.0 reflection


【解决方案1】:

【讨论】:

  • 只是标题说明了很多 - 这正是我正在寻找的!在飞宝贝:) 谢谢老兄
【解决方案2】:

.NET 框架是否有任何允许您运行的类 (编译、解释或其他)包含 C# 的外部脚本文件 代码?

是的,您可以使用CodeDomProvider 类。

如何从 winform、应用程序中加载上面的代码并执行 吗?

好吧,使用上面的类编译C#代码后,你可以使用ProcessStartInfo类并将其作为Start方法的参数从Process类传递,然后读取StandardOutput流,将其存储在一个字符串并根据需要显示,Console.Write()MessageBox.Show() 等。

【讨论】:

    【解决方案3】:

    我会检查 Roslyn API。只要您提供有效的 C# 或 VB.NET 代码,您就可以为所欲为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-21
      • 2023-01-11
      • 1970-01-01
      • 2022-01-19
      • 2013-08-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多