2

我已经尝试过这段代码,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 文件夹时。什么都没有。

可执行文件在哪里。或者上面的代码有什么错误吗?

任何帮助将不胜感激

4

1 回答 1

0

如果您的输出目录在运行构建后仍然为空,则可能构建不成功。你可能想看看BuildResult.OveralResult看看。它将通过一个简单的“失败/成功”枚举来指示构建是否成功,如本 MSDN 文章中所示。

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

于 2013-06-17T07:20:46.853 回答