【问题标题】:System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.EntityFrameworkCore, Version=2.2.0.0,System.IO.FileNotFoundException:无法加载文件或程序集'Microsoft.EntityFrameworkCore,版本 = 2.2.0.0,
【发布时间】:2019-10-12 08:09:01
【问题描述】:

我使用 AWS Lambda 函数模板创建了一个 .net core 2.2 项目。添加了一个 MySQL EntityFramework nuget 包。我的项目面向 .NET Core 2.2。我有使用 DbContext 和 EF 东西的代码。当我使用他们的 lambda 测试工具运行应用程序时,我收到此错误:System.IO.FileNotFoundException: 无法加载文件或程序集 'Microsoft.EntityFrameworkCore, Version=2.2.0.0, .....

使用 Process Monitor,我可以看到该应用正在尝试从 ...\bin\Debug\netcoreapp2.2\Microsoft.EntityFrameworkCore.dll 加载 Microsoft.EntityFrameworkCore.dll,但它并不存在。

我的问题是为什么该文件夹中没有任何支持程序集?文件夹中唯一的程序集(.dll 文件)是我的应用程序。

【问题讨论】:

    标签: c# .net-core aws-lambda entity-framework-core visual-studio-2019


    【解决方案1】:

    我有一些想法。 首先检查您要引用的文件夹是否允许 Visual 具有访问权限。

    如果它不起作用,请尝试通过 nugget 重新安装软件包(如果我没记错的话,我遇到了同样的错误。)。如果它显示它没有安装在 nugget manager 中,只需安装它,即使是几次。

    这是最后您问题的答案: Where does NuGet put the dll?

    【讨论】:

    • 如果 VS 无权访问该文件夹,它就不会在其中放置任何文件。 VS 创建该文件夹。安装包并编译解决方案。
    【解决方案2】:

    我遇到了类似的问题,在我的情况下,从 .csproj 文件中删除该行有帮助

    <PublishReadyToRun>true</PublishReadyToRun> 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多