Tfs .仅当您的类具有ExpandableObjectConverter属性或从该类型派生的类时,参数编辑器才会显示其内容: public class SourceTargetSettingsConverter : ExpandableObjectConverter { public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { return destinationType == typeof(string) || base.CanConvertTo(context, destinationType); } public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) { var parameters = (SourceTargetSettings) value; if (destinationType == typeof (string)) { return "This appears in the right column of the parameters editor."; } return base.ConvertTo(context, culture, value, destinationType); } }
将参数添加到流程。构建自定义程序集,在流程模板项目中添加对该程序集的引用,打开流程模板并添加新参数。在自定义参数类中键入它们并创建默认值:Tfs .仅当您的类具有ExpandableObjectConverter属性或从该类型派生的类时,参数编辑器才会显示其内容: public class SourceTargetSettingsConverter : ExpandableObjectConverter { public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { return destinationType == typeof(string) || base.CanConvertTo(context, destinationType); } public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) { var parameters = (SourceTargetSettings) value; if (destinationType == typeof (string)) { return "This appears in the right column of the parameters editor."; } return base.ConvertTo(context, culture, value, destinationType); } },tfs,msbuild,Tfs,Msbuild,将参数添加到流程。构建自定义程序集,在流程模板项目中添加对该程序集的引用,打开流程模板并添加新参数。在自定义参数类中键入它们并创建默认值: 添加参数元数据。正如Hinsh先生在回答中所说,我们仍然需要添加一个自定义组。在参数列表中查找元数据,然后打开编辑器。添加两个元数据项并参考流程参数: 上传。保存流程模板。签入自定义程序集和自定义流程模板。打开使用自定义模板的生成过程的生成过程编辑器,或重新打开它 感谢您的建议和详细步骤。直到第7步,我才得以实现。在我们的组织中,我们在生产中使用
元数据
,然后打开编辑器。添加两个元数据项并参考流程参数:
感谢您的建议和详细步骤。直到第7步,我才得以实现。在我们的组织中,我们在生产中使用了负载平衡服务器,我想将自定义参数分组,如下所示,Web>server1。资料来源2。目标,然后是另一个子组>服务器2>1。资料来源2。如果需要更深层的层次结构,可以使用属性嵌套参数类。我的回答解决了你的问题吗?谢谢你的建议和详细步骤。直到第7步,我才得以实现。在我们的组织中,我们在生产中使用了负载平衡服务器,我想将自定义参数分组,如下所示,Web>server1。资料来源2。目标,然后是另一个子组>服务器2>1。资料来源2。如果需要更深层的层次结构,可以使用属性嵌套参数类。我的回答解决了你的问题吗?谢谢你的建议和详细步骤。直到第7步,我才得以实现。在我们的组织中,我们在生产中使用了负载平衡服务器,我想将自定义参数分组,如下所示,Web>server1。资料来源2。目标,然后是另一个子组>服务器2>1。资料来源2。如果需要更深层的层次结构,可以使用属性嵌套参数类。我的回答解决了你的问题吗?谢谢你的建议和详细步骤。直到第7步,我才得以实现。在我们的组织中,我们在生产中使用了负载平衡服务器,我想将自定义参数分组,如下所示,Web>server1。资料来源2。目标,然后是另一个子组>服务器2>1。资料来源2。如果需要更深层的层次结构,可以使用属性嵌套参数类。我的回答解决了你的问题吗?
[BuildExtension(HostEnvironmentOption.All)]
[Serializable]
[TypeConverter(typeof(SourceTargetSettingsConverter))]
public class SourceTargetSettings
{
[DisplayName("1. Source")]
[Description("Description for Source")]
[Browsable(true)]
public string Source { get; set; }
[DisplayName("2. Target")]
[Description("Description for Target")]
[Browsable(true)]
public string Target { get; set; }
}
public class SourceTargetSettingsConverter : ExpandableObjectConverter
{
public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)
{
return destinationType == typeof(string) || base.CanConvertTo(context, destinationType);
}
public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
{
var parameters = (SourceTargetSettings) value;
if (destinationType == typeof (string))
{
return "This appears in the right column of the parameters editor.";
}
return base.ConvertTo(context, culture, value, destinationType);
}
}