Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在C#MSBuild完成后获取输出文件名?_C#_Msbuild - Fatal编程技术网

如何在C#MSBuild完成后获取输出文件名?

如何在C#MSBuild完成后获取输出文件名?,c#,msbuild,C#,Msbuild,我正在使用来构建包含许多项目的VisualStudio解决方案。我的代码看起来有点像 构建完成后,我希望将输出(在我的示例中是DLL)复制到目标文件夹 但是我看不到从BuildResult检索构建输出文件名的任何方法 我可以归档,然后推断输出位置。但这将是容易出错和乏味的 Build()返回一个值。就我所知,BuildResult不包含实际的输出文件名 生成完成后如何获取输出文件名?您可以提供生成的输出路径。只需在构建和处理新生成的文件之前清除文件夹 var solutionPath = "..

我正在使用来构建包含许多项目的VisualStudio解决方案。我的代码看起来有点像

构建完成后,我希望将输出(在我的示例中是DLL)复制到目标文件夹

但是我看不到从BuildResult检索构建输出文件名的任何方法

我可以归档,然后推断输出位置。但这将是容易出错和乏味的

Build()返回一个值。就我所知,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");
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);

工作起来很有魅力。谢谢工作起来很有魅力。谢谢