此平台不支持Microsoft.Data.SqlClient

时间:2020-02-21 21:56:50

标签: .net .net-core

我有一个名为Site.Dal的项目,该项目使用netstandard2.0进行编译。

csproj是:

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

  <PropertyGroup>
    <TargetFrameworks>netcoreapp2.2;netcoreapp3.1;netstandard2.1;netstandard2.0</TargetFrameworks>
    <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Elastic.Apm.NetCoreAll" Version="1.2.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.2" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.1.2" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\..\Models\Models\Models.csproj" />
  </ItemGroup>
</Project>

.netframework 4.7.2项目中引用了此项目。 当我运行它时,它失败并显示错误:“此平台不支持Microsoft.Data.SqlClient”。 这是Microsoft.EntityFrameworkCore的依赖项。

我已经花了几个小时解决这个问题,阅读了大量的文章,而不是所有要在csproj中添加的文章:

  <Target Name="PostBuild" AfterTargets="PostBuildEvent">
    <Exec Command="copy $(OutDir)$(ProjectName).deps.json $(OutDir)bin\$(ProjectName).deps.json" />
  </Target>
  <Target Name="PostPublish" BeforeTargets="Publish">
    <Exec Command="copy $(PublishDir)$(ProjectName).deps.json $(PublishDir)bin\$(ProjectName).deps.json" />
  </Target>
.deps.json文件位于bin \ debug方向,但仍然失败。 看来问题是因为我正在从dotnetframework调用netstandard2.0库,而我不得不继续使用混合核心/框架。

1 个答案:

答案 0 :(得分:0)

我遇到了这个问题,只需安装numbers = [] for i in range(10):numbers.append(i) result = map(lambda x: x * x * x,numbers) print(list(result)) 软件包即可解决。