Description
In various places in the SDK there are properties and item metadata that has no value (empty space) but the lack of a value also acts the same as one of the values. For example, the <Nullable>
property or the <PrivateAssets>
metadata on reference items. The blank values are unfriendly from a user experience point of view as users need to know what the default behaviour is and we can't expose these values anywhere in the UI in Visual Studio without double-handling and specifying defaults somewhere in the project system.
These default values would surface in the Properties window in Visual Studio, and the project property pages in Codespaces.
This is what a Reference
item looks like in the legacy project system:
And this is in SDK-style:
As you can see there is a lot of missing information, and reasoning about some of them is hard for users (eg Aliases, or "Specific Version" which is not a version). There is work to do on the CPS side to get the default values to grey out as appropriate, but having the default values in the SDK would be a great start.
Relates to dotnet/project-system#5865
Relates to dotnet/project-system#6212