C# 读取MSBuild任务中的生成参数
我正在尝试创建一些工具,这些工具需要在目标项目构建完成后运行脚本。 为此,在我的工具中,我还创建了MSBuild任务 我的问题是,我需要知道任务中的ConfigurationName和TargetPath变量是什么C# 读取MSBuild任务中的生成参数,c#,msbuild,C#,Msbuild,我正在尝试创建一些工具,这些工具需要在目标项目构建完成后运行脚本。 为此,在我的工具中,我还创建了MSBuild任务 我的问题是,我需要知道任务中的ConfigurationName和TargetPath变量是什么 public class MyTask : Task { public override bool Execute() { var output = // TargetPath variable var configuration =
public class MyTask : Task
{
public override bool Execute()
{
var output = // TargetPath variable
var configuration = // ConfigurationName variable
RunScript(output, configuration);
return true;
}
}
如何在MSBuild任务中读取生成变量?最可靠的方法是传递这些属性 将任务作为其自身属性导入到任务中:
public class MyTask : Task
{
[Required]
public string ConfigurationName { get; set; }
[Required]
public string TargetPath { get; set; }
public override bool Execute()
{
var output = this.TargetPath; // TargetPath variable
var configuration = this.ConfigurationName; // ConfigurationName variable
RunScript(output, configuration);
return true;
}
}
您可以将它们声明为“必需”(请参见上面的[required]
属性),也可以不声明。根据你的需要
然后从.targets或.*proj文件中相应地设置它们:
<MyTask
Configuration="$(Configuration)"
TargetPath="$(... whatever ...)"
/>