诀窍是修改您的csproj
并手动指定要在任一特定框架下使用的包。
所以这就是我最终要做的。记笔记:
PackageReference
: 从 NuGet 获取。
Reference
: 从你的 GAC 那里得到这个。
.
<PropertyGroup>
<TargetFrameworks>netstandard2.0;net452</TargetFrameworks>
</PropertyGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
<PackageReference Include="Microsoft.Build.Framework" Version="15.7.179" />
<PackageReference Include="Microsoft.Build.Utilities.Core" Version="15.7.179" />
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net452' ">
<Reference Include="Microsoft.Build.Framework" Version="15.7.179" />
<Reference Include="Microsoft.Build.Utilities.v4.0" Version="15.7.179" />
</ItemGroup>
所以在这里,如果框架是,我们将从 NuGet 获取包,NS20
而我们尝试从 GAC 获取包(如果它是用于NET452
.
优胜者,鸡肉晚餐!