首页 > 解决方案 > 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\ ...

我努力了:

是否有其他方法可以强制将包包含在构建文件夹中(如本地副本)?

标签: nugetentity-framework-corefilenotfoundexception

解决方案


编辑 *.csproj 文件并将以下内容添加到 PropertyGroup 似乎已经解决了问题(或者至少提供了一个合理的解决方法):

<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>

推荐阅读