【发布时间】:2014-11-11 16:57:04
【问题描述】:
我正在创建自定义 TFS 活动。似乎每个人都使用的默认模式是在 XAML 中创建一个变量,使用一些 TFS 活动对其进行设置,然后将其传递给您的自定义 TFS 活动。这看起来很原始,实际上很麻烦。如果您的 TFS 活动的接口发生更改,XAML 就会炸毁,丢失您为该活动开始所拥有的所有设置。
我认为传递给自定义活动的 CodeActivityContext 对象具有我需要的一切,但我不知道如何访问某些属性。
例如,我有一个基本的 TFS Activity 类,它当前执行以下操作...
public abstract class ActivityBase : CodeActivity
{
protected CodeActivityContext _context;
protected IBuildAgent _buildAgent;
protected IBuildDetail _buildDetail;
protected IBuildDefinition _buildDefinition;
protected string _buildDirectory;
protected override void Execute(CodeActivityContext context)
{
_context = context;
_buildAgent = context.GetExtension<IBuildAgent>();
_buildDetail = context.GetExtension<IBuildDetail>();
_buildDefinition = _buildDetail.BuildDefinition;
_buildDirectory = _buildAgent.GetExpandedBuildDirectory(_buildDefinition);
Execute();
}
protected abstract void Execute();
}
请注意,我可以访问 BuildDefinition,并且我确信这是通向用户设置的自定义 XAML 属性的网关。但是,我不知道如何访问它们?
另外,我想访问 ProjectsToBuild 设置(这是默认 XAML 中的一个参数)。
我还需要其他一些东西,但如果我能掌握这些首要的东西,我应该能够弄清楚其余的。
谢谢!
【问题讨论】:
标签: tfs