【问题标题】:Type not found Microsoft.EntityFrameworkCore in .NET Standard project在 .NET Standard 项目中找不到类型 Microsoft.EntityFrameworkCore
【发布时间】:2018-07-13 00:37:55
【问题描述】:

让 Entity Framework Core 在我的 .NET 标准项目中工作,我简直是噩梦!我正在使用 .NET Standard 2

我可以正常安装包(Microsoft.EntityFrameworkCore.SqlServer)

但是,当我构建我的应用程序时,虽然它可以编译,但我收到以下错误

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

有人吃过这个吗?我没想到在 .NET Standard 中使用实体框架会如此痛苦,哈哈

我在输出文件夹中看不到任何与此相关的 dll

我的应用程序托管在服务结构中,但我不确定这与它有什么关系

保罗

【问题讨论】:

  • “下面的错误”,什么错误?我只看到一个 DLL 的信息。
  • 哎呀 - 将编辑问题 - 它的类型未找到错误
  • 针对这些问题的常见建议:清理、重建、关闭VS并再次打开、删除.suo文件、删除.vs文件夹。你试过那些吗?另外,您在输出窗口中获得构建成功还是失败?
  • 是的,没有运气,我构建成功了,有趣的是在任何地方都没有看到对包的任何引用,甚至包文件夹也没有。如果我查看项目中的包,它指向 C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.entityframeworkcore.sqlserver\2.0.1
  • 您是否对 Microsoft.EntityFrameworkCore.SqlServer 有 NuGet 依赖,但对 Microsoft.EntityFrameworkCore 没有?由于SqlServer依赖第一个,所以会自动下载但有时引用失败

标签: c# .net entity-framework-core .net-standard


【解决方案1】:

我假设 Nuget 或 Visual Studio 存在错误

我最终不得不手动复制所有 dll!

【讨论】:

  • 很可能只是版本冲突,在更改依赖项时经常出现这种情况。您只需manually review the dependencies 即可找到并解决问题。
  • 包的所有程序集都没有被复制到输出文件夹中,我不得不一个一个地找到它们并将它们复制到输出文件夹中,真的既耗时又乏味!
  • 您知道有一个CopyToOutputDirectory setting in MSBuild 可以打开或关闭,不是吗?
  • 如何为 .net 标准项目设置它?
  • 与旧的.csproj 格式相同。但请稍等 - 当文件未复制到输出目录时,这表明存在阻止构建发生的构建错误。您应该 turn on verbose setting 看看您是否可以找到构建问题的详细信息(假设它们尚未出现在构建错误部分中)。
【解决方案2】:

尝试将此添加到您的 .csproj 文件中,其中包含对

的引用

Microsoft.EntityFrameworkCore.SqlServer

<PropertyGroup>
  <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
  <GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
  <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
</PropertyGroup>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-06
    • 1970-01-01
    • 2020-01-01
    • 2019-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多