#c# #uwp #entity-framework-core #netcoreapp2.1
#c# #uwp #сущность-фреймворк-ядро #netcoreapp2.1
Вопрос:
Я создал приложение UWP и сначала буду использовать EntityFrameworkCore для создания своей базы данных с кодом. Моя консоль приложений (приложение EntityFrameworkCore) работает и создает мою базу данных, но когда я делаю ссылку на свой проект UWP, он не работает и показывает эту ошибку:
Проект uwp несовместим с netcoreapp2.1 (.NETCoreApp, версия = v2.1)
И когда я хотел бы добавить ссылку в uwp на проект db, у меня возникает эта ошибка введите описание изображения здесь
Комментарии:
1. Нет, это несовместимо. Это будет в будущем devblogs.microsoft.com/dotnet /…
2. Спасибо @mortb как я могу решить свою проблему?
3. Однако entity-framework-core и uwp совместимы по .netstandard и, следовательно, могут выполняться вместе: devblogs.microsoft.com/dotnet/uwp-net-standard-2-0-preview Именно target .netcoreapp в вашем проекте приводит к сбоям. Цель говорит, что ваш проект должен выполняться в среде выполнения .net core, которая (в настоящее время) не может запускать uwp. Чтобы обойти это, я думаю, вы могли бы сначала создать свой проект приложения uwp, а затем добавить ссылку на entity-framework-core. Таким образом, ваш проект будет нацелен на uwp
4. @bertrand: Какую версию / пакет NuGet EF core вы используете? Почему вы ориентируетесь на .NET Core 2.1? И UWP, и EF Core поддерживают .NET Standard 2.0. Приложение .NET Core в любом случае не должно добавлять ссылку на приложение UWP.
5. Я использую EFCore 2.2.3, а консоль моего приложения находится в .NET core 2.1. я не использую стандартное приложение .NET, потому что мне нужен program.cs для создания моей базы данных
Ответ №1:
Приложение .NET Core не может добавить ссылку на приложение UWP и наоборот.
Что вам следует сделать, так это создать проект .NET Standard, в котором вы устанавливаете ядро Entity Framework и определяете свой DbContext
.
Затем вы могли бы ссылаться на этот проект как из консольного приложения .NET Core, так и из приложения UWP.
Комментарии:
1. Я пробую это, это тот же способ, что и «Microsoft get started», и когда я создаю свою первоначальную миграцию, у меня возникает эта ошибка > В сборке «Миграция» DbContext не найден. Убедитесь, что вы используете правильную сборку и что тип не является ни абстрактным, ни универсальным.
2. Я пытаюсь создать проект UWP с помощью MVVMLight и EFCore (сначала код), Может быть, мы сможем общаться в чате?
3. Вы добавили ссылку на «Миграцию» из приложения Uwp? Вы действительно определили там общедоступный
DbContext
класс?4. в проекте Db есть ссылка на «Миграцию» и «UWP». Да, мой контекст общедоступен
5. @bertrand: Ни в одном проекте не должно быть ссылки на приложение UWP. Приложение UWP должно ссылаться на проекты.
Ответ №2:
UWP не поддерживается в .net core, поэтому создание приложения .net core не будет работать. Создать.создайте стандартное консольное приложение net и включите его в свой проект UWP
Комментарии:
1. Я делаю это, но проблема в том, что в приложении .netstandar нет program.cs, и я не могу запустить миграцию и создать свою базу данных с помощью EntityFrameworkCore CodeFirst
2. может быть, мы можем поговорить где-нибудь еще?
3. о, я понимаю. создайте консольное приложение с помощью .net Framework. в нем есть program cs, и вы можете запустить его в обычном режиме. когда вы будете создавать свою базу данных, добавьте ссылку в зависимости вашего проекта UWP. надеюсь, это поможет
4. Теперь я не могу добавлять ссылки в свои проекты twice (UWP и DB). У меня появляется сообщение об ошибке «Невозможно добавить ссылку на проект «UWP»», не знаю почему =/
5. Является ли проект DB частью решения? также вы не должны ссылаться на проект UWP в вашем проекте DB. Если проект DB не является частью решения, добавьте его первым, и после этого вы сможете ссылаться на него.