Msbuild 如何从TFS生成中的任务中获取属性?

Msbuild 如何从TFS生成中的任务中获取属性?,msbuild,tfsbuild,msbuildcommunitytasks,Msbuild,Tfsbuild,Msbuildcommunitytasks,我在TFS构建中做了一个自定义任务,检查项目的GlobalAssemblyInfo.cs文件,以便提取属性(确切地说是AssemblyInformationalVersion),以便在命名我使用构建创建的zip文件时使用它的值 <UsingTask TaskName="GetAssemblyInformationalVersion.GetAssemblyInformationalVersionTask" AssemblyFile="$(MSBuildExtensionsP

我在TFS构建中做了一个自定义任务,检查项目的GlobalAssemblyInfo.cs文件,以便提取属性(确切地说是AssemblyInformationalVersion),以便在命名我使用构建创建的zip文件时使用它的值

<UsingTask TaskName="GetAssemblyInformationalVersion.GetAssemblyInformationalVersionTask"
         AssemblyFile="$(MSBuildExtensionsPath)\GetAssemblyInformationalVersion.dll" />
以下是我对我的任务的呼吁:

<GetAssemblyInformationalVersionTask InfoFile="$(Path to file)\GlobalAssemblyInfo.cs" />
然而,我还没有找到一种方法来真正做到这一点


我的问题是:如何在任务中调用属性的get部分?这看起来应该很容易,因为我还没有在网上找到任何关于这类事情的文章,但是任何帮助都将不胜感激。

您的自定义任务GetAssemblyInformationVersionTask需要有一个ITaskItem类型的属性,该属性用[Output]属性修饰

public class GetAssemblyInformationVersionTask
{
    [Output]
    public ITaskItem Version { get; set; }

    public override bool Execute()
    {
      // code to set Version 
      return true;
    }
}
然后您就可以这样使用它:

<GetAssemblyInformationVersionTask InfoFile="$(Path to file)\GlobalAssemblyInfo.cs">
        <Output TaskParameter="Version" ItemName="AssemblyVersion" />
 </GetAssemblyInformationVersionTask>

AssemblyVersion将是包含任务的Version属性值的项变量

如果您还没有看到,MSDN将涉及输出参数的主题。我看看能不能在网上找到更好的例子

Thomas Ardal在自定义任务中有另一个很好的[输出]示例

嗯,


Z

您的自定义任务GetAssemblyInformationVersionTask需要有一个ITaskItem类型的属性,该属性用[Output]属性修饰

public class GetAssemblyInformationVersionTask
{
    [Output]
    public ITaskItem Version { get; set; }

    public override bool Execute()
    {
      // code to set Version 
      return true;
    }
}
然后您就可以这样使用它:

<GetAssemblyInformationVersionTask InfoFile="$(Path to file)\GlobalAssemblyInfo.cs">
        <Output TaskParameter="Version" ItemName="AssemblyVersion" />
 </GetAssemblyInformationVersionTask>

AssemblyVersion将是包含任务的Version属性值的项变量

如果您还没有看到,MSDN将涉及输出参数的主题。我看看能不能在网上找到更好的例子

Thomas Ardal在自定义任务中有另一个很好的[输出]示例

嗯,


我的问题现在完全解决了:)谢谢你的回答和指点!!(这说明了我在谷歌搜索方面有多差劲……)我的问题现在完全解决了:)谢谢你的回答和指点!!(这表明我在谷歌搜索方面有多差劲……)