C# 完整的.NET引用.NET标准类库:FileNotFoundException

C# 完整的.NET引用.NET标准类库:FileNotFoundException,c#,.net,visual-studio,nuget,entity-framework-core,C#,.net,Visual Studio,Nuget,Entity Framework Core,我刚刚用Visual Studio 2019(16.3.3)创建了两个项目: 类库(netstandard2.0) +Microsoft.EntityFrameworkCore,版本2.2.4 +自定义Repositoryclass以隐藏DbContextclass WPF项目(v4.7.1) +对上面类库的引用 +使用存储库的一些代码: var r=new Repository(@“Server=(localdb)\MsSqlLocalDB;Database=EfCore2Wpf;Tr

我刚刚用Visual Studio 2019(16.3.3)创建了两个项目:

  • 类库(
    netstandard2.0
    • +
      Microsoft.EntityFrameworkCore
      ,版本2.2.4
    • +自定义
      Repository
      class以隐藏
      DbContext
      class
  • WPF项目(
    v4.7.1
    • +对上面类库的引用
    • +使用
      存储库的一些代码
  • var r=new Repository(@“Server=(localdb)\MsSqlLocalDB;Database=EfCore2Wpf;Trusted_Connection=True;”;
    DataContext=r.GetItems();//FileNotFoundException在这里。
    
    以下是一个完全例外:

    System.IO.FileNotFoundException:“无法加载文件或程序集”Microsoft.EntityFrameworkCore,版本=2.2.4.0,区域性=中性,PublicKeyToken=adb9793829ddae60“或其依赖项之一。找不到指定的模块。'

    没错!
    \WpfApp\bin\Debug
    文件夹中没有
    Microsoft.EntityFrameworkCore.dll
    但是为什么呢?

    (我有一些具有相同项目类型的遗留解决方案,它们可以工作。这里有什么问题?)


    供您参考:

    1) 包括一个.NET Core包,如Microsoft.EntityFrameworkCore.SqlServer,会导致一百万个
    。\packages\…dll
    条目别无选择。


    2) 就我所记得的,我必须迁移我的遗留WPF项目来传递间接的.NET核心引用:。但目前我的WPF项目中不需要任何NuGet包,因此没有
    package.config
    。如果没有
    package.config
    文件我就无法迁移

    这是一个bug,没有修复,因为没有人关心:

    解决方法:

  • 添加任意NuGet包(例如,
    NLog
    AutoMapper
    MvvmLightLibs
    或其他)
  • 右键单击新的
    packages.config
    文件→ “将packages.config迁移到PackageReference…”(如果“PackageReference”是您的“默认包管理格式”,则可能不需要此步骤,请检查工具→ NuGet软件包管理器)
  • 工作 或者更快:添加到您的
    *.csproj

      <ItemGroup>
        <PackageReference Include="NLog" Version="4.6.7" />
      </ItemGroup>
    
    
    

    警告:小心使用诸如ReSharper的“优化引用…”之类的工具支持!它将删除未使用的引用:-(

    您在一个问题中问了很多问题,同时又设置了一些限制,比如在项目中没有添加.NET Core包的选项。请具体说明,一次只问一个问题。..EF Core 2.x支持.NET Framework 4.7.2。您读了吗?@EriawanKusumawardhono目标:在不引用我不需要的包的情况下运行它。@mm8升级到.NET Framework 4.7.2不起作用。@Marcel:如果您手动将DLL复制到输出文件夹中,是否起作用?Visual Studio反馈系统:我检测到,在过去35天中,此问题没有太多产品团队活动,也没有太多新的投票或评论。基于此,它的严重性和受影响的区域,它是根据我的经验,这个问题不大可能得到解决。