nuget - Microsoft.EntityFrameworkCore 的 System.IO.FileNotFoundException
问题描述
我有一个 .NET Standard 2.0 项目,它通过 Nuget 包 Microsoft.EntityFrameworkCore 使用 EF Core。以下是 *.csproj 文件中的相关 PropertyGroup:
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.1.4" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.1.4" />
</ItemGroup>
解决方案构建,但在运行时,我得到一个 System.IO.FileNotFoundException:
无法加载文件或程序集“Microsoft.EntityFrameworkCore,Version=2.1.4.0,Culture=neutral,PublicKeyToken=adb9793829ddae60”或其依赖项之一。
该程序集不在 build 文件夹(或任何子文件夹,例如 netstandard2.0 子文件夹)中。它在%userprofile%\.nuget\ ...
我努力了:
- 清洁/重建
- 清除 Nuget 缓存。
- 添加
<RestoreProjectStyle>PackageReference</RestoreProjectStyle>
到 *.csproj 文件。 - 删除并重新添加 Micrososft.EntityFrameworkCore(和 Microsoft.EntityFrameworkCore.Design,也使用)
是否有其他方法可以强制将包包含在构建文件夹中(如本地副本)?
解决方案
编辑 *.csproj 文件并将以下内容添加到 PropertyGroup 似乎已经解决了问题(或者至少提供了一个合理的解决方法):
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
推荐阅读
- javascript - 手机中的按下行为 Ionic / Angular / Cordova App
- python - 两个文件的区别
- ios - 尾部截断不适用于自定义 Xamarin.iOS 表格视图单元格
- machine-learning - 回归如何在 XGboost 中工作?
- angular - app.component 之前的角度组件加载
- java - 在 Google Cloud Storage 中上传的 PDF 始终显示空白页
- google-apps-script - 加速 Google 脚本值访问和元数据?
- angular - 用户打开新标签时如何重置会话/本地存储?
- amp-html - 我们如何捆绑一个反应组件来使用 AMP 脚本
- c# - 在 ASP.NET Core 中发布没有表单的数据