C#으로 .sln을 빌드하려고합니다. 다음 코드가 있습니다.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...
을 보여 않는 오류를 thow하지 않습니다하지만 난 \bin\Release
에서 실행 파일을 찾을 수 없습니다. 내가 무언가를 잊어 버렸거나 어떻게 확인할 수 있습니까?
해결책이 x86 플랫폼을 정의합니까? 기본적으로 Visual C# 프로젝트는 보통 '모든 CPU'만 정의합니다. – heavyd
당신은 명시적일 수 있습니다 :'GlobalProperty.Add ("OutputPath", Directory.GetCurrentDirectory() + "\\ MyOutput"),' – Belogix
'모든 CPU'와'GlobalProperty.Add ("OutputPath", Directory.GetCurrentDirectory() + "\\ build \\ Solution \\ bin \\ Release");은 차이가 없었습니다. – Alex