.net core Microsoft.AspNetCore.Hosting.Abstractions清单定义与程序集引用不匹配

.net core Microsoft.AspNetCore.Hosting.Abstractions清单定义与程序集引用不匹配,.net-core,entity-framework-core,.net Core,Entity Framework Core,在类库中运行Entitfy framework core命令add migration MyMigrationName时,出现以下错误 无法加载文件或程序集 'Microsoft.AspNetCore.Hosting.Abstractions,版本=1.1.1.0, 区域性=中性,PublicKeyToken=adb9793829ddae60'或其 依赖关系。定位程序集的清单定义不正确 匹配程序集引用。来自HRESULT的异常:0x8013100 有趣的是,在我的应用程序中没有提到抽象 这是我的

在类库中运行Entitfy framework core命令add migration MyMigrationName时,出现以下错误

无法加载文件或程序集 'Microsoft.AspNetCore.Hosting.Abstractions,版本=1.1.1.0, 区域性=中性,PublicKeyToken=adb9793829ddae60'或其 依赖关系。定位程序集的清单定义不正确 匹配程序集引用。来自HRESULT的异常:0x8013100

有趣的是,在我的应用程序中没有提到抽象

这是我的csproj

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

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

    <PropertyGroup>
      <TargetFramework>net452</TargetFramework>
      <AssemblyName>MyProjectName</AssemblyName>
      <OutputType>Library</OutputType>
      <PackageId>MyProjectName</PackageId>
      <NetStandardImplicitPackageVersion>1.6.0</NetStandardImplicitPackageVersion>
      <GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
      <GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
      <GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
      <RootNamespace>MyProjectName</RootNamespace>
    </PropertyGroup>
    <ItemGroup>
      <None Update="appsettings.json">
        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
      </None>
    </ItemGroup>
    <ItemGroup>
      <PackageReference Include="DocumentFormat.OpenXml" Version="2.5.0" />
      <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="1.1.2" />
      <PackageReference Include="Microsoft.CSharp" Version="4.3.0" />
      <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="1.1.2" />
      <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="1.1.2" />
      <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="1.1.1" />
      <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="1.1.2" />
      <PackageReference Include="System.Collections" Version="4.3.0" />
      <PackageReference Include="System.Linq" Version="4.3.0" />
      <PackageReference Include="System.Runtime" Version="4.3.0" />
      <PackageReference Include="System.Threading" Version="4.3.0" />
    </ItemGroup>
  <ItemGroup Condition=" '$(TargetFramework)' == 'net452' ">
    <Reference Include="System" />
    <Reference Include="Microsoft.CSharp" />
  </ItemGroup>
  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="1.0.0" />
  </ItemGroup>
</Project>

为了让NuGet向类库项目添加适当的绑定重定向,您需要将以下内容添加到*.csproj文件中

符合事实的 符合事实的
为我们工作,但在幕后如何工作?我们在使用AspNetCore.Identity和另一个EFCore迁移项目时遇到了类似的问题,出于某种原因,当从PCM运行更新数据库时,它会查找System.Data.Sql v4.1.X.X,而EFCore与System.Data.Sql v4.3.X.X捆绑在一起,为什么它首先会使用错误的绑定?