在运行时编译C#代码[更新:或替代]

时间:2014-03-18 11:30:47

标签: c# wpf .net-4.0 monodevelop sharpdevelop

我试图在.Net4中开发一个应用程序,它创建一个自定义窗口,插入自定义控件并将其保存在目录中。我的下一个挑战是如何在WPF .exe应用程序中从我的Visual Studio解决方案生成/构建其他代码。我只需要一些将生成并转换为.exe的类。这个类将提供从一个Window导航到另一个Window的逻辑。

这是我为这个问题做的一个小图: enter image description here

我研究过的事情:

  1. CSharpCodeProvider :我可以在字符串[]中传递一些类但我不知道它们将如何使用依赖项,或者当出现错误/错误时它会很难看出错误在哪里。最后,最糟糕的是我无法设置一个位置来构建这个.exe。它构建在主解决方案/ Bin / Debug中。
  2. MSBuild :在这里,我可以设置构建解决方案的位置,但为此,我需要一个额外的Visual Studio解决方案。我想要做的就是在我的Application中包含一个Build按钮,它可以在Visual Studio中构建一个.exe程序,但是我将在我的应用程序中使用自定义类。
  3. 我不知道它是否可能,我正在寻找它,但我有点迷失。我在http://www.icsharpcode.net/opensource/sd/中看到有一个构建器,他们可以设置位置并从代码构建一个.exe。与SharpDevelop的唯一区别是我的控件和窗口都是习俗。

    更新

    也许我尝试做的事情更好用其他工具。也许在运行时编译C#不是他最好的方法。我将欣赏另一种解决问题的方法。

    enter image description here

1 个答案:

答案 0 :(得分:0)

我所做的是为此.exe创建一个新的额外项目,并且必须将此.exe复制/粘贴到每个项目位置。

但是,如果每次我们必须复制/粘贴此.exe

,这都不是很有用

我只是搜索或解决方案。我把它作为替代解决方案,但我不喜欢它,所以我将继续研究生成工具或其他东西。