Ответ 1
Согласно https://github.com/dotnet/roslyn/issues/13177, типы В соответствии с . Замечания по выпуску .NET Framework 4.7, она была добавлена. Добавив его к 4.6.x, он сломает semver. Следовательно, они предоставили типы как пакет Nuget, чтобы проекты, основанные на более старых версиях рамок, могли использовать его.ITuple
и ValueTuple
будут добавлены в mscorlib в "первом версии после".NET Framework 4.7.
Это похоже на проект .NET 2.0, который хочет использовать LINQ, который методы расширения были в System.Core, а не mscorlib.
Один из вариантов, который вы могли бы сделать, - создать свои собственные шаблоны проектов в промежутке, которые ссылаются на пакет NuGet.