3

我的项目有多个目标框架,其中 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>

4

0 回答 0