我的项目有多个目标框架,其中 2 个包引用需要为 .net461 使用不同的版本
在 VS 2017 中构建时,一切正常,并且依赖项使用正确的版本显示。
但是当使用 dotnet cli 构建时,依赖项显示 .net461 使用了错误的版本。这是 dotnet cli 中的错误吗?
我也尝试将这 2 个 pkg 放在另一个 ItemGroup 标记中,但条件仍然相同
更新:对于遇到此问题的其他人,我最终使用<Choose>
条件<when>
来解决此问题..所以看起来像这样。
<Choose>
<When Condition=" '$(TargetFramework)' == 'net461' ">
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="7.0.1" />
<PackageReference Include="RestSharp" Version="105.2.3" />
</ItemGroup>
</When>
<When Condition=" '$(TargetFramework)' == 'net451' ">
<ItemGroup>
<PackageReference Include="RestSharp" Version="105.0.0" />
<PackageReference Include="Newtonsoft.Json" Version="7.0.1" />
</ItemGroup>
</When>
<Otherwise>
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="9.0.1" />
<PackageReference Include="RestSharp" Version="106.2.1" />
</ItemGroup>
</Otherwise>