Когда я гуглю ".NET Standard", в первом результате я получаю ссылки на эту страницу , в которой есть таблица, показывающая минимальное поддерживаемое время выполнения для каждой версии .NET Standard, а также кучукомментарий.На этой странице есть ссылка на интерактивную таблицу , которую предпочитают некоторые люди.
Сказав, что в целом да, лучше просто использовать .NET Standard 2.0.Хотя NuGet и компилятор технически позволяют .NET 4.6.1 и выше использовать .NET Standard, они были выпущены до появления .NET Core / Standard, и некоторые люди сталкиваются с множеством проблем, потому что совместимость на самом деле не на 100%.Менее проблематично использовать .NET 4.7.2 или выше, что, я думаю, является первой версией .NET Framework, выпущенной после .NET Core и фактически работает должным образом во всех случаях (насколько я знаю), но поддерживает .NETStandard 2.0, что делает все версии .NET Standard 1.x бессмысленными для совместимости .NET Framework.Сборка только с классами DTO не столкнется с какими-либо проблемами, связанными с совместимостью, но некоторые люди предпочитают просто притворяться, что .NET Standard начался с 2.0, а .NET Framework поддерживает .NET Standard с 4.7.2, потому что его легче запомнитьэто единственное правило, чем анализировать каждую ситуацию.
В дополнение к этому, я не рекомендую использовать nuspec для упаковки проектов в стиле SDK (таких как .NET Standard или .NET Core) или проектов не в стиле SDKкоторые используют PackageReference
.Лучше использовать dotnet pack
или msbuild -t:pack
.Вы можете указать любые метаданные NuGet в своем csproj как свойства MSBuild .