Creating an ASP.NET Core project when .NET Core 3.1 SDK was installed
would result in .json files being displayed twice in the Solution pad.
.NET Core 3.1 SDK defines .json files twice.
Older .NET Core SDKs did not define the Content items more than once.
The Condition was not considered when showing files in the Solution
pad.
To support conditional files the Solution pad asks the project for
its visible files. The project uses the MSBuildEvaluationContext
to evaluate the condition to see if the file is visible or not.
Note that conditions on parent ItemGroups are currently not taken into
account. Also that visible files are not updated if the active config
is changed.
Out of scope for this change (to minimize changes for 8.4):
Handling ItemGroup definitions.
Changing visible files in the Solution pad on changing the active configuration.
Fixes VSTS #1005277 Create ASP.NET Core project, open Properties
folder, there are two launchSettings.json files.
Creating an ASP.NET Core project when .NET Core 3.1 SDK was installed would result in .json files being displayed twice in the Solution pad. .NET Core 3.1 SDK defines .json files twice.
Older .NET Core SDKs did not define the Content items more than once. The Condition was not considered when showing files in the Solution pad.
To support conditional files the Solution pad asks the project for its visible files. The project uses the MSBuildEvaluationContext to evaluate the condition to see if the file is visible or not.
Note that conditions on parent ItemGroups are currently not taken into account. Also that visible files are not updated if the active config is changed.
Out of scope for this change (to minimize changes for 8.4):
Fixes VSTS #1005277 Create ASP.NET Core project, open Properties folder, there are two launchSettings.json files.
Backport of #9407.
/cc @mrward