EF Core Analyzer RawSqlStringInjectionDiagnosticAnalyzer error - PullRequest
0 голосов
/ 27 февраля 2019

Я пытаюсь перенести все с 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 дня на поиск этой проблемы по всему Интернету, некоторые люди сталкивались с похожими проблемами ( как эта ), но не могли найти никакого решения, некоторыеиз того, что я сделал, было:

  • Обновил мой VS до последней версии (15.9.7), не повезло
  • Пытался ссылаться на разные версии EF Core, включая Analyzer для обоихпроекты, не повезло
  • Я знаю, что Microsoft.CodeAnalysis dll должен быть внутренним механизмом VS, тем не менее, пытался ссылаться на него вручную, не повезло
  • Пытался включить пакет nuget Microsoft.CodeAnalysis, не повезло
  • Также были и другие пакеты, которые я пробовал, не могу вспомнить имена сейчас, не повезло

Просьбыпомогите мне, я устал добавлять и ссылаться на различные пакеты и двоичные файлы, я даже не могу понять проблему.

1 Ответ

0 голосов
/ 25 марта 2019

Я понял, что это должно быть предупреждением, а не ошибкой, поэтому я обнаружил, что в настройках проекта включена опция «Рассматривать предупреждение как ошибку», поэтому я получаю это как ошибку, однако до сих пор незнать причину этого предупреждения .

...