【问题标题】:How to write and compile "on the fly" [duplicate]如何“即时”编写和编译 [重复]
【发布时间】:2013-04-12 01:10:28
【问题描述】:

我希望能够将代码写入已经运行的程序中,当我点击 UI 上的发送代码按钮时,该程序将编译并实现代码。

例如:

如果我输入:

MessageBox.Show("Hello World");

然后点击发送,我会弹出一个说 Hello World 的弹出窗口。

我已经搜索并搜索了解决方法,但我无法得到任何工作。

谁能推荐一个这样做的好方法?

【问题讨论】:

  • 你读过codedom吗?
  • StackOverflow 用户往往更喜欢你展示你尝试过的方式并寻求帮助以使其工作,而不是简单地询问如何去做。
  • 可能是即时窗口?

标签: c#


【解决方案1】:

您正在寻找的是CSharpCodeProvider

这允许您从源代码编译或评估 C# 代码并运行它。它可以在运行中和从另一个进程中完成。

【讨论】:

    【解决方案2】:

    您可以使用CSharpCodeProvider,但它是一项较旧的技术,很快就会过时。

    Microsoft 正在玩弄的最新项目是 Roslyn,它目前在 CTP 中,它公开了 Microsoft 和 VStudio 等在构建 C# 和 VB.NET 应用程序时使用的编译器和分析系统。

    这是一个关于如何使用其内置脚本引擎的链接。

    http://visualstudiomagazine.com/articles/2011/11/16/the-roslyn-scripting-api.aspx

    【讨论】:

    • 这看起来是一篇非常有趣的文章。感谢阅读!
    猜你喜欢
    • 2016-08-17
    • 2013-08-20
    • 2014-03-21
    • 2015-11-15
    • 1970-01-01
    • 2011-12-10
    • 2018-07-11
    • 2013-08-17
    • 2012-06-05
    相关资源
    最近更新 更多