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

时间:2018-05-23 06:29:42

标签: c# dll visual-studio-2017 dependencies .net-assembly

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

  1. MyProject ,这是我的主要启动项目(使用.NET Framework 4.7) - WPF,UI specfic,
  2. MyProject.Core - 类库(.NET Standard 2.0) - 保存模型,以及所有“幕后”数据
  3. MyProject.Relational - 类库(.NET Standard 2.0) - 负责处理和保存数据库特定信息
  4. 项目1(主要)已设置对项目23的引用。

    对于项目3,我已经安装了NuGet的{​​{1}}依赖项。

    现在,当我最终想要使用项目Microsoft.EntityFrameworkCore.Sqlite (2.0.3)并调用它的方法时,会抛出以下异常:

    3

    这当然是一个缺少的DLL文件 - 没有实体框架DLL被复制到app 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. 目录。

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

    我尝试了什么:

    使用Visual Studio 2017。

1 个答案:

答案 0 :(得分:2)

通过在我的.csproj文件中添加以下行来解决此问题:

<RestoreProjectStyle>PackageReference</RestoreProjectStyle>

专门针对PropertyGroup群。

不确定为什么它会产生这样的差异,如果有人可以解释并在评论中发布它会很棒。我将在此答案中添加任何其他信息。