【问题标题】:How to create an executable out of a solution file in VS2012?如何在 VS2012 中从解决方案文件中创建可执行文件?
【发布时间】:2013-06-17 07:02:54
【问题描述】:

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

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

任何帮助将不胜感激

【问题讨论】:

标签: c# .net


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多