VS: DOTNET_SDK support for core msbuild attributes
In a recent issue on `DOTNET_SDK` support, @RainerSigwald proposed looking at [core MSBuild attributes](https://gitlab.kitware.com/cmake/cmake/-/issues/23166#note_1136279). This issue tracks the support for each of those attributes. Below is a slight edit of
* [x] `VS_DOTNET_DOCUMENTATION_FILE`
* [x] `VS_DOTNET_REFERENCE_`
* [x] `VS_DOTNET_REFERENCEPROP_`
* [ ] `VS_DOTNET_REFERENCES` (ideally *only when targeting .NET Framework* and error if targeting .NET Core/.NET 5.0+)
* [x] `VS_PACKAGE_REFERENCES`
* [x] `DOTNET_TARGET_FRAMEWORK`
* [x] `VS_GLOBAL_ROOTNAMESPACE`
* [x] `VS_GLOBAL_<variable>`
Additionally, I think it does *not* make sense to support
* [x] `DOTNET_TARGET_FRAMEWORK_VERSION`, since that's tied to .NET Framework and shouldn't be used for .NET Core/.NET 5.0+ projects (prefer `DOTNET_TARGET_FRAMEWORK`'s specification of a target framework moniker instead)
* [ ] `VS_PROJECT_IMPORT`, since imports from NuGet packages should be handled by `dotnet restore`/`MSBuild.exe -restore`
There are also a couple of new things to consider supporting:
* [ ] Runtime identifier, the .NET Core/.NET 5.0+ mechanism for supporting target OS/OS version/architecture. For `RuntimeIdentifier`, CMake supports it via `VS_GLOBAL_RuntimeIdentifier`. I am hesitant adding another variable.
FYI @baronfel
issue