gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 16:19:52 27 4
gpt4 key购买 nike

我正在尝试用 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...");

它没有显示错误,它确实显示已完成解决方案构建...,但我在\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# - 在 C# 可执行文件中构建 .sln,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27802603/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com