我正在尝试用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…