从 WinForms 应用程序中以编程方式生成 WinForms 项目.exe



我需要构建一个容器 C# WinForm 应用程序,该应用程序将在按钮单击事件中吐出另一个 WinForm 应用程序的.exe文件。

例如:我有一个名为ProjectA的Winform应用程序,它接受一个启动参数。现在我有一个名为ProjectB的容器WinForm App。我想通过在单击按钮时将所需的参数传递给 ProjectA 应用程序,在 Project B 中以编程方式生成ProjectA.exe

在谷歌上找不到与此相关的任何内容。任何人都可以投入一些光来实现这一目标。

请注意,Winforms应用程序都必须用C#编写。

我有一个非常模糊的想法,即使用MSBuild命令来构建项目A,这反过来将产生其.exe 但是我对此不太清楚。

没有必要为此弄乱MSBuild。您可以将程序的代码生成为字符串,然后动态生成可执行文件:

https://support.microsoft.com/en-us/help/304655/how-to-programmatically-compile-code-using-c-compiler

举个例子:

Process.Start(@"C:Program Files (x86)MSBuild12.0BinMSBuild.exe", @"d:app1app1.sln");

再比如:

Process.Start(@"C:Program Files (x86)MSBuild12.0BinMSBuild.exe", @"d:app1app1.sln /t:Rebuild /p:Configuration=Debug;TargetFrameworkVersion=v4.0");

将上面的代码放在按钮单击上。

最新更新