[英]System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.WindowsAzure.ServiceRuntime, Version=2.5.0.0
[英]System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.EntityFrameworkCore, Version=2.2.0.0,
我使用 AWS Lambda function 模板创建了一个 .net 核心 2.2 项目。 添加了一个 MySQL EntityFramework nuget package。我的项目目标是 .NET Core 2.2。 我有使用 DbContext 和 EF 东西的代码。 当我使用他们的 lambda 测试工具运行应用程序时,出现此错误:System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.EntityFrameworkCore, Version=2.2.0.0, .....
使用 Process Monitor,我可以看到该应用程序正在尝试从不存在的...\bin\Debug.netcoreapp2.2\Microsoft.EntityFrameworkCore.dll 加载 Microsoft.EntityFrameworkCore.dll。
我的问题是为什么该文件夹中没有任何支持程序集? 文件夹中唯一的程序集(.dll 文件)是我的应用程序。
以下步骤可帮助您解决此问题:
bin
和obj
文件夹。 尝试在代码中的某处明确使用某种类型的Microsoft.EntityFrameworkCore
命名空间。 例如:
var _ = new Microsoft.EntityFrameworkCore.DbContextOptionsBuilder();
它会强制构建将程序集复制到结果目录。
我有一些想法。 首先检查您要引用的文件夹是否允许 Visual 具有访问权限。
如果它不起作用,请尝试通过 nugget 重新安装软件包(如果我没记错的话,我遇到了同样的错误。)。 如果它显示它没有安装在 nugget manager 中,只需安装它,即使是几次。
这是最后您的问题的答案: NuGet 将 dll 放在哪里?
我遇到了类似的问题,在我的例子中,从 .csproj 文件中删除该行有帮助
<PublishReadyToRun>true</PublishReadyToRun>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.