[Assembly1]和[netstandard 2.0程序集]中都存在[Type]类型

mak*_*iuk 7 .net c# entity-framework-core .net-standard-2.0

我无法使Microsoft.EntityFrameworkCore 2.0与NETStandard.Library 2.0一起使用

错误CS0433类型'AttributeUsageAttribute'在'System.Runtime,Version = 4.1.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'和'netstandard,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = cc7b13ffcd2ddd51'中都存在。架构D:\ Contrived \ Contrived \ Framework \ Contrived.Model.Schema \ Attributes \ EntityColumnAttribute.cs

我的.csproj:

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

  <PropertyGroup Label="Globals">
    <SccProjectName>SAK</SccProjectName>
    <SccProvider>SAK</SccProvider>
    <SccAuxPath>SAK</SccAuxPath>
    <SccLocalPath>SAK</SccLocalPath>
  </PropertyGroup>

  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="2.0.0" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Update="NETStandard.Library" Version="2.0.0" />
  </ItemGroup>

</Project>
Run Code Online (Sandbox Code Playgroud)

如果我创建一个新的解决方案和一个netstandard 2.0库,然后添加EntityFrameworkCore 2.0,也会发生这种情况

错误CS1703已导入具有相同标识的多个程序集:'D:\ Users \ maksymiuk_a.nuget \ packages \ netstandard.library \ 2.0.0 \ build \ netstandard2.0 \ ref \ System.Threading.Tasks.dll'和'D :\ Users \ maksymiuk_a.nuget \ packages \ system.threading.tasks \ 4.3.0 \ ref \ netstandard1.3 \ System.Threading.Tasks.dll'。删除重复的引用之一。ClassLibrary1 D:\人为\人为\ ClassLibrary1 \ ClassLibrary1 \ CSC

Mar*_*ich 4

更新: Visual Studio 2017 15.32.0.0 SDK已发布。使用这些版本可以消除此类冲突。

这似乎是在所有部件发布之前混合使用预览工具和“RTM”包时发生的构建问题之一。

要在撰写本文时获得对 2.0.0 的最佳支持,请执行以下操作之一:

提出此要求的原因是 2.0.0 SDK 了解这些冲突并System.*.dll从项目中删除冲突的引用(在本例中)。