Совместимость проектов между .Net Standard и .Net Core

#asp.net #xamarin

Вопрос:

Я очень быстро заблудился во всех переходах от .Net Framework к .Чистый стандарт до .Чистое Ядро. Не мог бы кто-нибудь, пожалуйста, просто сказать мне, что мне нужно сделать, чтобы мои проекты работали вместе?

Вот ситуация: у меня есть простой веб-сервис, написанный на ASP.Net это содержит набор классов, созданных Entity Framework из существующей базы данных с помощью команды «каркас». Веб-служба может ответить на запрос списка катушек из базы данных. Список поставляется в виде строки, сериализованной в формате JSON.

У меня есть простое мобильное приложение, разработанное на Xamarin. Я хочу, чтобы он принял строку JSON и десериализовал ее в список объектов катушки. Для этого мне нужно добавить ссылку на проект веб-службы. Но когда я пытаюсь это сделать, я получаю жалобы на то, что цели двух проектов несовместимы.

Выбор целевых платформ для веб-службы-.Net 5.0 и .Net Core с 1.0 по 3.1. Выбор целевых платформ для приложения Xamarin-.Net Standard с 1.0 по 2.1. Я не смог найти комбинацию этих вариантов, которая бы работала. Какие варианты я должен использовать, чтобы добавить ссылку на проект веб-службы в проект Xamarin?

Или мне следует разделить классы, созданные Entity Framework, на отдельную библиотеку? В любом случае, это, вероятно, было бы лучшей структурой проекта. В этом случае у меня было бы три проекта. Целевая платформа, выбранная для библиотеки, должна быть совместима с платформами, выбранными для веб-службы и приложения Xamarin, но платформа для веб-службы больше не должна быть совместима с платформой приложения Xamarin.

Или, возможно, мне следует восстановить все это с нуля. Все это тривиальные проекты, выполняемые в основном для образования, хотя приложение Xamarin может быть полезно в реальном мире. Воссоздать их было бы легко. Опять же, если бы я сделал это, какие цели я должен использовать?

Вся разработка была выполнена в Visual Studio 2019.

Комментарии:

1. Я не разработчик Xamarin, но я предлагаю вам перенести необходимый код EF из веб-сервиса в совместимые состояния проекта Xamarin. Теперь после вырезания полезного кода для xamarin из проекта webservice, если в проекте WebService не так много кода с использованием сторонних инструментов, создайте новый проект, совместимый с Xamarin и новым вспомогательным проектом EF. Сторонние инструменты иногда не имеют совместимости с новейшими фреймворками!

2. .NET Standard 2.0 совместим как с целями Xamarin, так и с .NET Core. Так что это был бы лучший выбор для совместного использования кода до тех пор, пока не выйдет .NET 6.