从Winforms应用程序中以编程方式生成Winforms Project .exe

时间:2018-06-05 10:23:28

标签: c# winforms build exe programmatically

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

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

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

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

我有一个非常模糊的想法,即使用 MSBuild 命令来构建ProjectA,而ProjectA又会生成其.exe 但是我对此并不太清楚。

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

举个例子:

Process.Start(@"C:\Program Files (x86)\MSBuild\12.0\Bin\MSBuild.exe", @"d:\app1\app1.sln");

另一个例子:

Process.Start(@"C:\Program Files (x86)\MSBuild\12.0\Bin\MSBuild.exe", @"d:\app1\app1.sln /t:Rebuild /p:Configuration=Debug;TargetFrameworkVersion=v4.0");

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