Я предлагаю установить пользовательские свойства и условия для этих свойств.Таким образом, вы не будете влиять на другие проекты или ссылки:
<TargetFrameworks Condition="'$(BuildNetStdOnly)' == 'true'">netstandard2.0</TargetFrameworks>
<TargetFrameworks Condition="'$(BuildNetFxOnly)' == 'true'">net471</TargetFrameworks>
<TargetFrameworks Condition="'$(TargetFrameworks)' == ''">netstandard2.0;net471</TargetFrameworks>
Таким образом, вы можете строить, используя
msbuild -p:BuildNetStdOnly=true -p:Configuration=Release -m -nr:false
msbuild -p:BuildNetFxOnly=true -p:Configuration=Release -m -nr:false
Обратите внимание, что это настройка множественной версии только потому, что TargetFramework
необходимо установить как глобальные свойства для внутренних сборок, если проект был восстановлен для обеих целевых структур.Если вы хотите установить единственное число TargetFramework
, вам также необходимо восстанавливать снова для каждого вызова, передавая также аргумент -restore
в msbuild.