【问题标题】:EF Core Analyzer RawSqlStringInjectionDiagnosticAnalyzer errorEF Core Analyzer RawSqlStringInjectionDiagnosticAnalyzer 错误
【发布时间】: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


    【解决方案1】:

    我已经意识到这应该是一个警告而不是错误,所以我发现项目设置中的“将警告视为错误”选项已启用,这就是我将其视为错误的原因,但是,仍然没有知道这个警告背后的原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-08
      • 1970-01-01
      • 2017-03-28
      • 1970-01-01
      • 2021-12-29
      • 1970-01-01
      • 2018-03-07
      • 2021-01-17
      相关资源
      最近更新 更多