.net core System.PlatformNotSupportedException:此平台不支持System.Data.SqlClient

.net core System.PlatformNotSupportedException:此平台不支持System.Data.SqlClient,.net-core,entity-framework-core,.net-standard,.net Core,Entity Framework Core,.net Standard,我想从framework 4.7.2库调用.netstandard2.0库 我设置了一些测试项目来检查这是否可行 该测试使用.Net Core 2.1测试项目通过,但使用framework 4.7.2测试项目失败 调用堆栈是 Test method UnitTestProject3.UnitTest1.TestMethod1 threw exception: System.PlatformNotSupportedException: System.Data.SqlClient is not s

我想从framework 4.7.2库调用.netstandard2.0库

我设置了一些测试项目来检查这是否可行

该测试使用.Net Core 2.1测试项目通过,但使用framework 4.7.2测试项目失败

调用堆栈是

Test method UnitTestProject3.UnitTest1.TestMethod1 threw exception: 
System.PlatformNotSupportedException: System.Data.SqlClient is not supported on this platform.
    at System.Data.SqlClient.SqlConnection..ctor(String connectionString)
   at Microsoft.EntityFrameworkCore.Storage.Internal.SqlServerConnection.CreateDbConnection()
   at Microsoft.EntityFrameworkCore.Internal.LazyRef`1.get_Value()
   at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.Open(Boolean errorsExpected)
   at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.Enumerator.BufferlessMoveNext(Boolean buffer)
   at Microsoft.EntityFrameworkCore.ExecutionStrategyExtensions.<>c__DisplayClass12_0`2.<Execute>b__0(DbContext c, TState s)
   at Microsoft.EntityFrameworkCore.Storage.Internal.SqlServerExecutionStrategy.Execute[TState,TResult](TState state, Func`3 operation, Func`3 verifySucceeded)
   at Microsoft.EntityFrameworkCore.ExecutionStrategyExtensions.Execute[TState,TResult](IExecutionStrategy strategy, Func`2 operation, Func`2 verifySucceeded, TState state)
   at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.Enumerator.MoveNext()
   at System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable`1 source)
   at lambda_method(Closure , QueryContext )
   at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.<>c__DisplayClass17_0`1.<CompileQueryCore>b__0(QueryContext qc)
   at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.Execute[TResult](Expression query)
   at Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryProvider.Execute[TResult](Expression expression)
   at System.Linq.Queryable.SingleOrDefault[TSource](IQueryable`1 source, Expression`1 predicate)
   at SBD.VivPackAndSend.PackAndSend.GetReadyBy(Int32 headId, String connectionString) in D:\devnet10\SBD.Common\SBD.VivPackAndSend\PackAndSend.cs:line 67
   at UnitTestProject3.UnitTest1.TestMethod1()
测试方法UnitTestProject3.UnitTest1.TestMethod1引发异常:
System.PlatformNotSupportedException:此平台不支持System.Data.SqlClient。
位于System.Data.SqlClient.SqlConnection..ctor(字符串连接字符串)
在Microsoft.EntityFrameworkCore.Storage.Internal.SqlServerConnection.CreateDbConnection()中
在Microsoft.EntityFrameworkCore.Internal.LazyRef`1.get_Value()中
位于Microsoft.EntityFrameworkCore.Storage.RelationalConnection.Open(布尔错误预期)
位于Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.Enumerator.BufferlessMovenText(布尔缓冲区)
在Microsoft.EntityFrameworkCore.ExecutionStrategyExtensions.c__显示Class12_0`2.b_0(DbContext c,TState s)
在Microsoft.EntityFrameworkCore.Storage.Internal.SqlServerExecutionStrategy.Execute[TState,TResult](TState,Func`3操作,Func`3验证成功)
在Microsoft.EntityFrameworkCore.ExecutionStrategyExtensions.Execute[TState,TResult](IEExecutionStrategy策略,Func`2操作,Func`2验证成功,TState状态)
在Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.Enumerator.MoveNext()中
在System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable`1 source)处
at lambda_方法(闭包、查询上下文)
在Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.c___显示Class17_0`1.b__0(QueryContext qc)
在Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.Execute[TResult](表达式查询)中
在Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryProvider.Execute[TResult](表达式)中
位于System.Linq.Queryable.SingleOrDefault[TSource](IQueryable`1源,表达式`1谓词)
在D:\devnet10\SBD.Common\SBD.VivPackAndSend\PackAndSend.cs:第67行中的SBD.VivPackAndSend.PackAndSend.GetReadyBy(Int32头ID,字符串连接字符串)处
在UnitTestProject3.UnitTest1.TestMethod1()中
项目文件是

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Library</OutputType>
    <TargetFramework>netstandard2.0</TargetFramework>
    <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
  <ApplicationIcon />
    <StartupObject />
    <SignAssembly>true</SignAssembly>
    <AssemblyOriginatorKeyFile>Software by Design.snk</AssemblyOriginatorKeyFile>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.0.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.0.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.0.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.0.0" />
    <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.0.1" /> 
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\StandardCommon\SBD.StandardCommon.csproj" />
  </ItemGroup>

</Project>

图书馆
netstandard2.0
真的
真的
软件由Design.snk提供

我在测试项目中通过添加对System.Data.SqlClient 4.5.0.1的引用实现了它的正常工作

我在测试项目中通过添加对System.Data.SqlClient 4.5.0.1的引用实现了它的正常工作

我不确定此问题使用什么标签我不确定此问题使用什么标签