未复制引用的项目依赖项 DLL

我的项目解决方案目前有三个项目:

  1. MyProject,这是我的主要启动项目(使用.NET Framework 4.7) - WPF,UI 规范,

  2. MyProject.Core - 类库 ( .NET Standard 2.0) - 保存模型和所有“幕后”数据

  3. MyProject.Relational - 类库 ( .NET Standard 2.0) - 负责处理和保存数据库特定信息

Project 1(main) 已经设置了对 project23.

对于这个项目3我已经安装NuGet的依赖关系Microsoft.EntityFrameworkCore.Sqlite (2.0.3)

现在,当我最终想使用 project3并调用它的方法时,抛出以下异常:

System.IO.FileNotFoundException: 'Could not load file or assembly 'Microsoft.EntityFrameworkCore, Version=2.0.3.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' or one of its dependencies. The system cannot find the file specified.

这当然是一个缺失的 DLL 文件 - 没有实体框架 DLL 被复制到应用程序Debug目录。

为什么?这是预期的行为吗?我是否还必须安装Microsoft.EntityFrameworkCore.Sqlitefor 项目的依赖项1?对我来说毫无意义,引用相同的依赖项到没有使用它的项目。

我试过什么:

使用 Visual Studio 2017。


慕村9548890
浏览 272回答 1
1回答

呼如林

通过将以下行添加到我的.csproj文件中解决了这个问题:<RestoreProjectStyle>PackageReference</RestoreProjectStyle>具体到PropertyGroup群里。不知道为什么会产生如此大的差异,如果有人可以在评论中解释和发布,那就太好了。我将添加到此答案中的任何其他信息。
打开App,查看更多内容
随时随地看视频慕课网APP