Date: 16.02.2021 16:20:20
При использовании современного формата проекта (VS 2017+ или .NET Core SDK) ничего особенного делать не нужно. Вы выбираете несколько целевых платформ, устанавливаете GeneratePackageOnBuild, и тогда при сборке генерируется пакет с несколькими целевыми платформами. Файл проекта должен выглядеть как-то так:
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFrameworks>netstandard2.0;net45</TargetFrameworks> <GeneratePackageOnBuild>true</GeneratePackageOnBuild> </PropertyGroup> </Project>При старом типе проекта или если это вовсе не msbuild, да, нужно вручную компоновать dll-ки в несколько подкаталогов в /lib, и потом паковать это командной строкой.
Date: 17.02.2021 5:58:46
Для связок зависимостей также можно ввести логическое управление на основе платформы:
<PropertyGroup Condition="'$(TargetFramework)'=='netstandard2.0'"> <PackageReference Include="..." Version="..." /> </PropertyGroup>
Что касается System.Text.Encoding.CodePages, System.IO.Ports, насколько я понимаю, эти пакеты в net framework не нужны, так как и кодировки, и работа с портами встроены в саму стандартную библиотеку.
>Я так понимаю, это только для 2017 студии, для 2019 уже не актуально?
То, что я написал, актуально и для VS 2017, и для VS2019.
Автор: VadimTagil