代码之家  ›  专栏  ›  技术社区  ›  Seyfi

无法使用“Microsoft”。EntityFrameworkCore。移民。C#项目中的设计

  •  0
  • Seyfi  · 技术社区  · 1 年前

    据我所知,我已经将相关的NuGet包添加到以下C#控制台项目中。但是,我无法使用相应的命名空间。

    using Microsoft.EntityFrameworkCore.Migrations.Design;
    

    注: 不要混淆 它与 Microsoft.EntityFrameworkCore.Design

    错误:

    Program.cs(2,48):[CS0234]类型或命名空间名称“Design” 命名空间“Microsoft”中不存在。EntityFrameworkCore。移民' (是否缺少程序集引用?)

    enter image description here

    已安装的nuget软件包列表:

    <ItemGroup>
          <PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.12" />
          <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.12">
            <PrivateAssets>all</PrivateAssets>
            <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
          </PackageReference>
          <PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="8.0.12" />
          <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.12" />
          <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="8.0.12">
            <PrivateAssets>all</PrivateAssets>
            <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
          </PackageReference>
        </ItemGroup>
    

    我错过了什么?

    1 回复  |  直到 1 年前
        1
  •  2
  •   David Browne - Microsoft    1 年前

    来自Documents\PACKAGE.md文档:

    默认情况下,该软件包将安装 PrivateAssets="All" 所以 工具组件不会包含在您发布的文档中 应用程序。例如:

    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.2">
        <PrivateAssets>all</PrivateAssets>
        <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    

    如果你想在运行时使用它,请将包引用更改为以下内容:

    <Project Sdk="Microsoft.NET.Sdk">
    
      <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>net8.0</TargetFramework>
        <ImplicitUsings>enable</ImplicitUsings>
        <Nullable>enable</Nullable>
      </PropertyGroup>
    
      <ItemGroup>
        <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.1" />
        <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="9.0.1" />
      </ItemGroup>
    
    </Project>
    
    推荐文章