.NETCore2.2试图针对哪个版本的.NET标准?

.NETCore2.2试图针对哪个版本的.NET标准?,.net,.net-core,nuget,.net-standard-2.0,.net-standard-2.1,.net,.net Core,Nuget,.net Standard 2.0,.net Standard 2.1,我有一个.NET Core 2.2应用程序,它引用了一个NuGet包,该包的目标是.NET标准2.0和2.1 i、 e.NuGet一揽子目标 <TargetFrameworks>netstandard2.0;netstandard2.1</TargetFrameworks> netstandard2.0;netstandard2.1 此NuGet软件包针对不同版本的DI和日志NuGet软件包,具体取决于目标框架: <PackageReference Includ

我有一个.NET Core 2.2应用程序,它引用了一个NuGet包,该包的目标是.NET标准2.0和2.1

i、 e.NuGet一揽子目标

<TargetFrameworks>netstandard2.0;netstandard2.1</TargetFrameworks>
netstandard2.0;netstandard2.1
此NuGet软件包针对不同版本的DI和日志NuGet软件包,具体取决于目标框架:

<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="2.2.0" Condition="'$(TargetFramework)' == 'netstandard2.0'" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="3.0.0" Condition="'$(TargetFramework)' == 'netstandard2.1'" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="2.2.0" Condition="'$(TargetFramework)' == 'netstandard2.0'" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="3.0.0" Condition="'$(TargetFramework)' == 'netstandard2.1'" />

我的.NET Core应用程序的目标是.NET Core 2.2:

<TargetFramework>netcoreapp2.2</TargetFramework>
netcoreapp2.2
当我查看.NETCore2.2应用程序的NuGet依赖项时,它正在引入3.0.0版本的日志和DI包。对我来说,这表明它正试图使用NuGet软件包的.NET标准2.1目标版本

如何强制它使用.NET标准2.0目标

更新
这似乎是Visual Studio的一个问题。重新启动后,一切都开始编译,错误消失了。但是,现在当我尝试使用实体框架3.0包装在预编译指令中时(
#if NETSTANDARD2_1
),文本显示为灰色,就好像该指令没有定义一样。如果我试图编译应用程序,它会给我错误,这是意料之中的,因为我没有包括正确的
用法。但是,这些错误在编译之前不会显示。

请参阅。请检查多目标ns2.0和ns2.1的软件包。更有可能的情况是,包的依赖项错误地为ns2.0 tfm指定了其依赖项的3.0版本,而不是使用包的项目选择了错误的资产/依赖项。查看您的
PackageReference
s上的条件,我希望
dotnet pack
能够正确地创建包,因此我想知道您是否在使用
nuspec
文件,而不是让nuget自动生成一个?这些包是用正确的依赖版本正确打包的。我通过在NuGet缓存中解压nupack文件来验证这一点,只是为了确定。最终,这似乎是VisualStudio的一个问题。重新启动它修复了问题。似乎VS锁定了一个特定的框架,并从该版本生成/显示错误日志,而不是同时从这两个版本生成/显示错误日志。我希望有一种方法可以迫使它成为框架的特定版本。