在C#可执行文件中构建.sln - c#

我正在尝试用C#构建.sln。我有以下代码。

try
{
  Console.WriteLine("Building Solution...\n");
  string projectFileName = Directory.GetCurrentDirectory() + "\\build\\Solution.sln";
  ProjectCollection pc = new ProjectCollection();
  Dictionary<string, string> GlobalProperty = new Dictionary<string, string>();
  GlobalProperty.Add("Configuration", "Release");
  GlobalProperty.Add("Platform", "x86");

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

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

catch (Exception e)
{
  Console.Write("Error:" + e.Message);
  Console.ReadLine();
}
Console.WriteLine("Completed Solution build...\nPress any key to continue...");

它没有发出错误,它确实显示了Completed Solution build...,但是我在\bin\Release中找不到可执行文件。我忘记了什么或如何检查?

参考方案

我设法使其正常工作,解决方案未构建为代码中的应有错误。无论如何,这就是解决方案。

string projectFileName = Directory.GetCurrentDirectory() + "\\build\\Solution.sln";
ProjectCollection pc = new ProjectCollection();
Dictionary<string, string> GlobalProperty = new Dictionary<string, string>();
GlobalProperty.Add("Configuration", "Release");
GlobalProperty.Add("Platform", "Any CPU");
GlobalProperty.Add("OutputPath", Directory.GetCurrentDirectory() + "\\build\\\bin\\Release");

BuildParameters bp = new BuildParameters(pc);
bp.Loggers = new[] {
  new FileLogger
  {
    Verbosity = LoggerVerbosity.Detailed,
    ShowSummary = true,
    SkipProjectStartedText = true
  }
};

BuildManager.DefaultBuildManager.BeginBuild(bp);

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

BuildSubmission BuildSubmission = BuildManager.DefaultBuildManager.PendBuildRequest(BuildRequest);
BuildSubmission.Execute();
BuildManager.DefaultBuildManager.EndBuild();
if (BuildSubmission.BuildResult.OverallResult == BuildResultCode.Failure)
  {
    throw new Exception();
  }
}

在C#中使用linq合并列表 - c#

public class APIBillingHistory { public List<APIBillingHistoryDetails> BillingHistoryDetails; } public class APIBillingHistoryDetails { public List<APIBillingHistoryPaymen…

在C#中,基本构造函数调用中的一种用法如何解决多个枚举警告? - c#

以下代码向我警告了IEnumerable可能的多个枚举:public ClassName(IEnumerable<OtherClassName> models) : base(models) { _models.AddRange(models); } 由于“基本”调用,消除此警告的常规解决方案不起作用。我无法转换为列表,因为没有地方可以存储该列表…

字段初始化程序访问“this”:在C#中无效,在Java中有效? - c#

Improve this question 一,简介:这段代码:class C { int i = 5; byte[] s = new byte[i]; } 无法编译,并出现以下错误: 字段初始值设定项不能引用非静态字段,方法或属性“C.i”Resharper说类似的话:无法在静态上下文中访问非静态字段i。这与C# spec says一致-字段初始值设定项无…

当回复有时是一个对象有时是一个数组时,如何在使用改造时解析JSON回复? - java

我正在使用Retrofit来获取JSON答复。这是我实施的一部分-@GET("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…

在C#中验证Java SAML响应 - c#

我正在查看有关验证Java在C#中生成的SAML响应的各种文章。我一直在尝试所有建议,但仍然从SignedXml.CheckSignature中得到一个错误,现在完全不了解可能出了什么问题,并与您联系,看看您是否有我可以使用的建议。响应中的“签名”节点为 <ds:Signature xmlns:ds="http://www.w3.org/20…