如何在C#MSBuild完成后获取输出文件名?
我正在使用来构建包含许多项目的VisualStudio解决方案。我的代码看起来有点像 构建完成后,我希望将输出(在我的示例中是DLL)复制到目标文件夹 但是我看不到从BuildResult检索构建输出文件名的任何方法 我可以归档,然后推断输出位置。但这将是容易出错和乏味的 Build()返回一个值。就我所知,BuildResult不包含实际的输出文件名如何在C#MSBuild完成后获取输出文件名?,c#,msbuild,C#,Msbuild,我正在使用来构建包含许多项目的VisualStudio解决方案。我的代码看起来有点像 构建完成后,我希望将输出(在我的示例中是DLL)复制到目标文件夹 但是我看不到从BuildResult检索构建输出文件名的任何方法 我可以归档,然后推断输出位置。但这将是容易出错和乏味的 Build()返回一个值。就我所知,BuildResult不包含实际的输出文件名 生成完成后如何获取输出文件名?您可以提供生成的输出路径。只需在构建和处理新生成的文件之前清除文件夹 var solutionPath = "..
生成完成后如何获取输出文件名?您可以提供生成的输出路径。只需在构建和处理新生成的文件之前清除文件夹
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");
var solutionPath=“…”;
var outputPath=“…”;
var pc=新项目集合();
var properties=newdictionary();
添加(“OutputPath”,OutputPath);
var request=newbuildrequestdata(solutionPath,properties,null,新字符串[]{“Build”},null);
var result=BuildManager.DefaultBuildManager.Build(新的BuildParameters(pc),请求);
//用DLL做一些事情
var libraries=Directory.GetFiles(outputPath,*.dll);
您可以为构建提供输出路径。只需在构建和处理新生成的文件之前清除文件夹
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");
var solutionPath=“…”;
var outputPath=“…”;
var pc=新项目集合();
var properties=newdictionary();
添加(“OutputPath”,OutputPath);
var request=newbuildrequestdata(solutionPath,properties,null,新字符串[]{“Build”},null);
var result=BuildManager.DefaultBuildManager.Build(新的BuildParameters(pc),请求);
//用DLL做一些事情
var libraries=Directory.GetFiles(outputPath,*.dll);
工作起来很有魅力。谢谢工作起来很有魅力。谢谢