1

我需要知道项目中实际的输出文件名完整路径。我使用 microsoft.build.evaluation.project 打开具有正确属性的项目,并尝试使用属性 TargetPath、TargetDir、TargetFileName,但我找不到一致的属性来为我提供带有路径的输出文件名。在某些项目中它有效,而在某些项目中则无效。我同时处理 csproj 文件和 vcxproj 文件。

4

2 回答 2

2

输出路径与项目文件夹有关。您可以通过属性从项目文件中获取其值OutputPath(假设project是 的一个实例Microsoft.Build.Evaluation.Project

var outputPath = project.GetPropertyValue("OutputPath")

然后您可以使用 Path.Combine 连接您的输出路径和项目文件夹

var fullpath =  Path.Combine(projectDirectory, outputPath);
于 2015-01-12T13:58:04.543 回答
2

除了Ask的回答:

如果您需要为当前配置以外的其他配置获取 OutputPath(例如,Release),您应该执行以下操作:

project.SetProperty("Configuration", "Release");
project.ReevaluateIfNecessary();
var outputPath = project.GetPropertyValue("OutputPath");

或者

ProjectCollection.GlobalProjectCollection.SetGlobalProperty("Configuration", "Release");
load project
var outputPath = project.GetPropertyValue("OutputPath");
于 2016-01-28T07:43:15.283 回答