簡體   English   中英

C#MSBuild完成后,如何獲取輸出文件名?

[英]How can I get output file names after a C# MSBuild completes?

我正在使用BuildManager.DefaultBuildManager.Build()構建包含許多項目的Visual Studio解決方案。 我的代碼看起來很像這樣

構建完成后,我想將輸出(本例中為DLL)復制到目標文件夾。

但是我看不到任何從BuildResult檢索構建輸出的文件名的方法。

我可以掃描SLN文件,然后推斷輸出位置。 但這將容易出錯且乏味。

Build()返回BuildResult 據我所知,BuildResult不包含實際的輸出文件名。

構建完成后如何獲取輸出文件名?

您可以提供構建的輸出路徑。 在構建和使用新生成的文件之前,只需清除文件夾即可。

var solutionPath = "...";
var outputPath = "...";

var pc = new ProjectCollection();
var properties = new Dictionary<string, string>();
properties.Add("OutputPath", outputPath);

var request = new BuildRequestData(solutionPath, properties, null, new string[] { "Build" }, null);
var result = BuildManager.DefaultBuildManager.Build(new BuildParameters(pc), request);

// do stuffs with the dlls
var libraries = Directory.GetFiles(outputPath, "*.dll");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM