C# 如何使用wpf创建一个在运行时生成新应用程序的应用程序?

C# 如何使用wpf创建一个在运行时生成新应用程序的应用程序?,c#,wpf,C#,Wpf,我想制作一个WPF C#应用程序,在这里我可以提出问题并拖放图片,然后保存它。然后,当我点击保存按钮时,它会生成一个新的应用程序。这不可能吗?有人有一个好的网址,我可以访问这个吗?我在谷歌上找不到任何东西。已经存在这样一个应用程序-它被称为Visual Studio.:-) 别开玩笑了,回答你的问题,是的,构建这样一个应用程序是绝对可能的。根据具体情况,有很多方法可以做到这一点 这种应用程序的一个方面,我们称之为AppBuilder,是为目标应用程序生成和编译代码。例如,可以使用Roslyn(可

我想制作一个WPF C#应用程序,在这里我可以提出问题并拖放图片,然后保存它。然后,当我点击保存按钮时,它会生成一个新的应用程序。这不可能吗?有人有一个好的网址,我可以访问这个吗?我在谷歌上找不到任何东西。

已经存在这样一个应用程序-它被称为Visual Studio.:-)

别开玩笑了,回答你的问题,是的,构建这样一个应用程序是绝对可能的。根据具体情况,有很多方法可以做到这一点

这种应用程序的一个方面,我们称之为AppBuilder,是为目标应用程序生成和编译代码。例如,可以使用Roslyn(可从C访问的C编译器)来完成

另一个方面是允许用户指定您描述的问题,并允许用户放置图像。总的来说,这需要像设计图面这样的工具来操纵图像和文字的位置,这与VisualStudio中的WPF设计器没有什么不同

当用户构建应用程序时,他们必须有一种方法来保存他们的工作,以便以后能够返回。是否每次保存都会生成和编译目标应用程序?可能不会。因此,需要一种持久性机制和一个数据库,或某种结构化文件,以将用户的工作保存为一种稍后可以读回并在内存中重新构建项目的形式

这些只是AppBuilder需要支持的三个最明显的功能。现在来检查一下现实情况:这并不简单,根据您的具体需求,它可能会变得相当复杂。调试生成的应用程序怎么样?造型怎么样?等等等等


我并不是想让你泄气,但也许你可以提供更多关于你到底想要完成什么的信息,然后我们可以讨论更多。

已经存在这样一个应用程序,它被称为Visual Studio.:-)

别开玩笑了,回答你的问题,是的,构建这样一个应用程序是绝对可能的。根据具体情况,有很多方法可以做到这一点

这种应用程序的一个方面,我们称之为AppBuilder,是为目标应用程序生成和编译代码。例如,可以使用Roslyn(可从C访问的C编译器)来完成

另一个方面是允许用户指定您描述的问题,并允许用户放置图像。总的来说,这需要像设计图面这样的工具来操纵图像和文字的位置,这与VisualStudio中的WPF设计器没有什么不同

当用户构建应用程序时,他们必须有一种方法来保存他们的工作,以便以后能够返回。是否每次保存都会生成和编译目标应用程序?可能不会。因此,需要一种持久性机制和一个数据库,或某种结构化文件,以将用户的工作保存为一种稍后可以读回并在内存中重新构建项目的形式

这些只是AppBuilder需要支持的三个最明显的功能。现在来检查一下现实情况:这并不简单,根据您的具体需求,它可能会变得相当复杂。调试生成的应用程序怎么样?造型怎么样?等等等等


我不是想让您气馁,但也许您可以提供更多关于您想要实现的目标的信息,然后我们可以进行更多讨论。

谢谢,我将阅读更多关于AppBuilder的信息。我一直在思考如何在应用程序中构建一个新的应用程序。我的目的是做一个简单的小应用程序,在这里老师可以提出一个问题和3个答案。。。然后在问题上方拖放相关图片。然后构建并发布它。所以老师可以把它放在一个USB中,让学生/孩子带回家练习,然后实现一个类似于播放器的应用程序,它可以显示老师可以配置的所有内容。使用一些数据结构(XML、Json)保存所有内容以供以后使用。只是一些我会选择的方法。GLSo,为了扩展@Benedikt Schroeder的答案,在本例中,我将构建两个应用程序。一个是“AppBuilder”,它是教师构建“文档”的工具,第二个是“播放器”,它是让学生运行准备好的“文档”。“文档”将是一个结构化文件(可以是任何真正的文件,如XML、JSON、专有二进制文件、SQLite数据库、文本或您选择存储数据的任何文件)。这绝对是可行的。谢谢你,我将阅读更多关于AppBuilder的信息。我一直在思考如何在应用程序中构建一个新的应用程序。我的目的是做一个简单的小应用程序,在这里老师可以提出一个问题和3个答案。。。然后在问题上方拖放相关图片。然后构建并发布它。所以老师可以把它放在一个USB中,让学生/孩子带回家练习,然后实现一个类似于播放器的应用程序,它可以显示老师可以配置的所有内容。使用一些数据结构(XML、Json)保存所有内容以供以后使用。只是一些我会选择的方法。GLSo,为了扩展@Benedikt Schroeder的答案,在本例中,我将构建两个应用程序。一个是“AppBuilder”,它是教师构建“文档”的工具,第二个是“播放器”,它是让学生运行准备好的“文档”。“文档”将是一个结构化文件(可以是任何真正的文件,如XML、JSON、专有二进制文件、SQLite数据库、文本或您选择存储数据的任何文件)。这是绝对可行的。