c# - 未复制引用的项目依赖项 DLL
问题描述
我的项目解决方案目前有三个项目:
- MyProject,这是我的主要启动项目(使用
.NET Framework 4.7
) - WPF,UI 规范, - MyProject.Core - 类库 (
.NET Standard 2.0
) - 保存模型和所有“幕后”数据 - MyProject.Relational - 类库 (
.NET Standard 2.0
) - 负责处理和保存数据库特定信息
Project 1
(main) 设置了对 project2
和3
.
对于该项目3
,我安装NuGet
了Microsoft.EntityFrameworkCore.Sqlite (2.0.3)
.
现在,当我终于想使用项目3
并调用它的方法时,抛出了以下异常:
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.Sqlite
for project的依赖项1
?对我来说毫无意义,将相同的依赖项引用到没有使用它的项目。
我尝试了什么:
- 清理项目,删除 bin/obj 目录,
- 将项目引用属性设置设置
copy local
为True
, - 此问题中给出的解决方案:引用的 DLL 未复制到引用项目
使用 Visual Studio 2017。
解决方案
通过将以下行添加到我的.csproj
文件中解决了这个问题:
<RestoreProjectStyle>PackageReference</RestoreProjectStyle>
具体到PropertyGroup
组。
不知道为什么会产生如此大的差异,如果有人可以在评论中解释并发表,那就太好了。我将在此答案中添加任何其他信息。
推荐阅读
- matlab - 在MATLAB中添加两个元素的问题
- javascript - iframe 渲染错误:
属性宽度:负值无效 - android - 找不到变量:setImmediate(错误)
- angular - 角度鼠标悬停最小反应时间
- python-3.x - 如何根据 groupby 和出现次数添加列?
- javascript - 如何解决nodejs + graphql上的异步s3解析器上传?
- text-processing - 如何从电影剧本中只提取主角的对话
- powershell - 如何通过任务调度程序命令行调度 powershell 脚本?
- java - java google drive api V3 MultiPart & Resumable Upload
- ios - 运行 pod install 时出错 - 在目标 `Runner` 上自动分配版本为 `8.0` 的平台`iOS`