Some properties are removed from project files by try-convert that a user may in fact want to be kept.
Motivation and goals
try-convert will remove properties that it determines do not need to be kept. However, some people may want to keep them for whatever reason (ie they may have taken a dependency on the ProjectGuid that is removed). This should allow extension authors a way to specify these properties they want to keep, and have them still be there after try-convert finishes.
In scope
Extension point to provide list of properties that should be kept
Out of scope
Any sort of transformation these properties should undergo
Scenarios you explicitly want to exclude.
Risks / unknowns
Unknown
Examples
A user can define an extension similar to the following:
{
"RetainedProperties": [
"ProjectGuid
]
}
And then expect that after try-convert finishes, it's still available.
Detailed design
Ideally, this would be applied atomically with try-convert. Thus, we can register an extension option that the project file updater step can grab and cache between try-convert runs.
Open Questions:
Should the cache be done in memory?
Should we put it in the project file in case of an unexpected failure?
Summary
Some properties are removed from project files by
try-convert
that a user may in fact want to be kept.Motivation and goals
try-convert
will remove properties that it determines do not need to be kept. However, some people may want to keep them for whatever reason (ie they may have taken a dependency on the ProjectGuid that is removed). This should allow extension authors a way to specify these properties they want to keep, and have them still be there aftertry-convert
finishes.In scope
Out of scope
Scenarios you explicitly want to exclude.
Risks / unknowns
Examples
A user can define an extension similar to the following:
And then expect that after
try-convert
finishes, it's still available.Detailed design
Ideally, this would be applied atomically with
try-convert
. Thus, we can register an extension option that the project file updater step can grab and cache between try-convert runs.Open Questions: