【问题标题】:Dotnet Core Microsoft.EntityFrameworkCore.Tools.Dotnet not installingDotnet Core Microsoft.EntityFrameworkCore.Tools.Dotnet 未安装
【发布时间】:2018-01-07 20:28:13
【问题描述】:

我有一个 Dotnet 核心项目,我正在尝试安装 Microsoft.EntityFrameworkCore.Tools.Dotnet 以使用迁移。我在 Mac 上,所以我使用的是 MySql.Data.EntityFrameworkCore 包。当我尝试安装命令行工具时,我收到以下错误,但是如果我手动将包添加到 csproj 文件中,它将安装。但是尝试运行 dotnet ef 时出现以下错误。

无法解析软件包 Microsoft.EntityFrameworkCore.Tools.Dotnet 的版本。

我用 .net core 1.0.4 和 .net core 2.0 都试过了,得到了同样的错误。我还尝试将以下内容添加到我的 csproj 文件中,但没有帮助

<ItemGroup>
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.Dotnet" Version="2.0.0-preview2-final" />
</ItemGroup>

我有什么遗漏吗?

完整的 csproj 文件:

<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
    <UserSecretsId>aspnet-WebApplication-FCC62E5C-58CB-44F6-835B-E0E34F1DE6D7</UserSecretsId>
  </PropertyGroup>
  <ItemGroup>
    <Folder Include="wwwroot\" />
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.0-preview2-final" />
    <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.0.0-preview2-final" />
    <PackageReference Include="MySql.Data.EntityFrameworkCore" Version="8.0.8-dmr" />
    <PackageReference Include="MySql.Data.EntityFrameworkCore.Design" Version="8.0.8-dmr" />
  </ItemGroup>
  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.0-preview2-final" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\ClassLibrary.Data\ClassLibrary.Data.csproj" />
  </ItemGroup>
</Project>

类库csproj:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="MySql.Data.EntityFrameworkCore" Version="8.0.8-dmr" />
    <PackageReference Include="MySql.Data.EntityFrameworkCore.Design" Version="8.0.8-dmr" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools.Dotnet" Version="2.0.0-preview2-final" />
  </ItemGroup>
  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.Dotnet" Version="2.0.0-preview2-final" />
  </ItemGroup>
</Project>

【问题讨论】:

    标签: mysql xml asp.net-core entity-framework-core


    【解决方案1】:

    类库 csproj 中从包含的包中删除 Dotnet 一词:

    错误的方式:

    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools.Dotnet" Version="2.0.0-preview2-final" />
    

    正道:

     <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.0.0-preview2-final" />
    

    Microsoft.EntityFrameworkCore.Tools.Dotnet 仅在 DotNetCliToolReference 中设置:

     <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.Dotnet" Version="2.0.0-preview2-final" />
    

    【讨论】:

      【解决方案2】:

      删除&lt;PackageReference&gt;Microsoft.EntityFrameworkCore.Tools.Dotnet。它只应列为&lt;DotNetCliToolReference&gt;

      【讨论】:

        【解决方案3】:

        安装 Microsoft.EntityFrameworkCore.Tools.Dotnet 软件包的早期版本并进行更新。

        【讨论】:

          猜你喜欢
          • 2019-01-29
          • 2019-02-27
          • 1970-01-01
          • 2019-03-15
          • 1970-01-01
          • 2018-05-11
          • 1970-01-01
          • 2018-08-15
          • 1970-01-01
          相关资源
          最近更新 更多