Я пытаюсь перенести все с 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, не повезло
- Также были и другие пакеты, которые я пробовал, не могу вспомнить имена сейчас, не повезло
Просьбыпомогите мне, я устал добавлять и ссылаться на различные пакеты и двоичные файлы, я даже не могу понять проблему.