EF 核心分析器 RawSqlStringInjectionDiagnosticAnalyzer 错误
EF Core Analyzer RawSqlStringInjectionDiagnosticAnalyzer error
我正在尝试将所有内容从 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 核心(所有实体映射、上下文和存储库)并且所有内容看起来都很好,两个项目都成功构建。
2- 开始针对现有数据库和实体模型的第一次迁移。现在,在构建这两个项目的迁移过程中,我在 asp.net MVC 项目上收到一个奇怪的错误,如下所示:
An instance of analyzer
Microsoft.EntityFrameworkCore.RawSqlStringInjectionDiagnosticAnalyzer
cannot be created from
C:\Users\user\.nuget\packages\microsoft.entityframeworkcore.analyzers.1.2\analyzers\dotnet\cs\Microsoft.EntityFrameworkCore.Analyzers.dll
: Could not load file or assembly 'Microsoft.CodeAnalysis,
Version=2.8.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or
one of its dependencies. The system cannot find the file specified.
3- 现在每次构建 Asp.net 项目时,都会出现相同的错误。
我真的不知道这个 RawSqlStringInjectionDiagnosticAnalyzer 以及为什么它甚至被项目使用,到目前为止我已经花了 2 天时间在整个 Internet 上搜索这个问题,有些人遇到了一些类似的问题() 但找不到任何解决方案,我所做的一些事情是:
- 已将我的 VS 更新到最新版本 (15.9.7),运气不好
- 尝试为两个项目引用不同版本的 EF Core,包括 Analyzer,但没有成功
- 我知道Microsoft.CodeAnalysisdll 应该是一个 VS 内部机制,但是尝试手动引用它,没有运气
- 试图包含 Microsoft.CodeAnalysis nuget 包,但没有成功
- 还有其他的包我试过了,现在不记得名字了,运气不好
请帮助我我厌倦了添加和引用不同的包和二进制文件,我什至无法理解问题。
我意识到这应该是警告而不是错误,所以我发现项目设置中的 "Treat warning as error" 选项已启用,这就是我将其视为错误的原因,但是,仍然如此不知道这个 warning.
背后的原因
我正在尝试将所有内容从 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 核心(所有实体映射、上下文和存储库)并且所有内容看起来都很好,两个项目都成功构建。
2- 开始针对现有数据库和实体模型的第一次迁移。现在,在构建这两个项目的迁移过程中,我在 asp.net MVC 项目上收到一个奇怪的错误,如下所示:
An instance of analyzer Microsoft.EntityFrameworkCore.RawSqlStringInjectionDiagnosticAnalyzer cannot be created from C:\Users\user\.nuget\packages\microsoft.entityframeworkcore.analyzers.1.2\analyzers\dotnet\cs\Microsoft.EntityFrameworkCore.Analyzers.dll : Could not load file or assembly 'Microsoft.CodeAnalysis, Version=2.8.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
3- 现在每次构建 Asp.net 项目时,都会出现相同的错误。
我真的不知道这个 RawSqlStringInjectionDiagnosticAnalyzer 以及为什么它甚至被项目使用,到目前为止我已经花了 2 天时间在整个 Internet 上搜索这个问题,有些人遇到了一些类似的问题(
- 已将我的 VS 更新到最新版本 (15.9.7),运气不好
- 尝试为两个项目引用不同版本的 EF Core,包括 Analyzer,但没有成功
- 我知道Microsoft.CodeAnalysisdll 应该是一个 VS 内部机制,但是尝试手动引用它,没有运气
- 试图包含 Microsoft.CodeAnalysis nuget 包,但没有成功
- 还有其他的包我试过了,现在不记得名字了,运气不好
请帮助我我厌倦了添加和引用不同的包和二进制文件,我什至无法理解问题。
我意识到这应该是警告而不是错误,所以我发现项目设置中的 "Treat warning as error" 选项已启用,这就是我将其视为错误的原因,但是,仍然如此不知道这个 warning.
背后的原因