如何在VS2012中的解决方案文件中创建可执行文件?

时间:2013-06-17 07:02:55

标签: c# .net

我试过这段代码,其中proj\chancher2.sln是我正在尝试构建的另一个解决方案文件的路径。

   private void button1_Click(object sender, EventArgs e)
    {

        try
        {

            string projectFileName = @"proj\chancher2.sln";

            ProjectCollection pc = new ProjectCollection();

            Dictionary<string, string> GlobalProperty = new Dictionary<string, string>();

            GlobalProperty.Add("Configuration", "Debug");

            GlobalProperty.Add("Platform", "x86");

            //Here, we set the property

            GlobalProperty.Add("OutputPath", @"D:\Output");

            BuildRequestData BuidlRequest = new BuildRequestData(projectFileName, GlobalProperty, null, new string[] { "Build" }, null);

            BuildResult buildResult = BuildManager.DefaultBuildManager.Build(new BuildParameters(pc), BuidlRequest);

        }

        catch (Exception E) {
            MessageBox.Show(E.Message);
        }
    }

当我单击按钮时,我没有收到任何错误,但是当我转到Debug文件夹时,我找不到编译的可执行文件。当我转到D:\ Output文件夹时。什么都没有。

可执行文件在哪里。或者上面的代码中是否有任何错误?

任何帮助都将受到高度赞赏

1 个答案:

答案 0 :(得分:0)

如果运行构建后输出目录仍为空,那么构建可能不成功。您可能需要查看BuildResult.OveralResult才能看到。它将以简单的“失败/成功”枚举表示构建是否成功,如this MSDN article所示。

我没有太多以这种方式使用MSBuild的经验,但似乎从MSDN快速浏览一下,BuildResult会告诉你想要知道它失败的原因(如果确实失败了)。