【发布时间】:2019-02-27 08:23:58
【问题描述】:
我正在尝试将所有内容从 Entity Framework 6.3 移植到 Entity Framework Core 2.1.2,这是我第一次使用 EF Core。 我有 2 个项目,一个是我的核心或基础设施项目,包含所有实体模型、数据库上下文和存储库,另一个是 asp.Net MVC,它是我的启动项目并使用核心项目中的所有服务。这两个项目都使用 .NetStandard Library 2.0.3 和目标 .Net Framework 4.6.2。我的机器上有 .Net Core SDK 2.2。
问题:
1- 将所有内容转换为 Entity Framework Core(所有实体映射、上下文和存储库),所有内容看起来都很好,两个项目都成功构建。
2- 开始针对现有数据库和实体模型的第一次迁移。现在,在构建两个项目的迁移过程中,我在 asp.net MVC 项目上遇到了一个奇怪的错误,如下所示:
分析器实例 Microsoft.EntityFrameworkCore.RawSqlStringInjectionDiagnosticAnalyzer 不能从创建 C:\Users\user\.nuget\packages\microsoft.entityframeworkcore.analyzers\2.1.2\analyzers\dotnet\cs\Microsoft.EntityFrameworkCore.Analyzers.dll :无法加载文件或程序集“Microsoft.CodeAnalysis, 版本=2.8.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35' 或 它的依赖项之一。系统找不到指定的文件。
3- 现在每次构建 Asp.net 项目时,都会遇到相同的错误。
我真的不知道这个 RawSqlStringInjectionDiagnosticAnalyzer 以及为什么它甚至被项目使用,到目前为止我已经花了 2 天时间在整个互联网上搜索这个问题,有些人遇到了一些类似的问题 (like this one) 但可以没有找到任何解决方案,我做的一些事情是:
- 已将我的 VS 更新到最新版本 (15.9.7),没有运气
- 尝试为两个项目引用不同版本的 EF Core,包括 Analyzer,但没有成功
- 我知道Microsoft.CodeAnalysis dll应该是VS的内部机制,但是尝试手动引用它,没有运气
- 试图包含 Microsoft.CodeAnalysis nuget 包,但没有成功
- 还有其他的包我试过了,现在不记得名字了,不走运
请帮助我,我厌倦了添加和引用不同的包和二进制文件,我什至无法理解问题。
【问题讨论】:
标签: visual-studio .net-core entity-framework-core roslyn-code-analysis