After weeks of posting, forums, research etc... And trying this post it turns out that the legacy string array is what functions.
I wanted to
- Provide defaults in the template, so that the consumer could just leave it if they didn't want anything more specific.
- Allow for full customizations, adding, editing, removing.
- Visibility of what's set for anyone looking at the build definition, not just people with a special assembly loaded.
- Microsoft.TeamFoundation.Build.Workflow.Activities.StringList
- System.Collections.Specialized.StringDictionary
- creating my own custom editor and adding it to the metadata
- System.Collections.Generic.IList<string>
- System.Collections.Generic.List<string>
Once I finally changed the variable name and tried String[] Array. All of the sudden, everything worked just fine. Alternatively, clicking refresh in team explorer -> Edit Build Definition -> Process tab -> Show details arrow -> click refresh is supposed to work. I wound up renaming the variable.
So I went back to try all the types I listed and a few more... and the first 3 worked:
- Microsoft.TeamFoundation.Build.Workflow.Activities.StringList
- No custom editor specified
- Microsoft.TeamFoundation.Build.Controls.WpfStringListEditor
- String[] Array
- System.Collections.Specialized.StringDictionary
- IList<string>
- List<string>
- IDictionary<string>
- Dictionary<string>
- Microsoft.TeamFoundation.Client.KeyValueOfStringString
- KeyValuePair<string,string>[]
What I want is a dictionary<string,string> but I'm getting pretty sure there's no support for it outside of a custom package deployed to all machines that want to view the arguments or edit them.
No comments:
Post a Comment