Blazor. NET Стандартная библиотека компонентов бритвы 2.0 с зависимостью. NET Библиотека Core 3.1 - PullRequest
0 голосов
/ 10 февраля 2020

Я начинаю реорганизовывать свой проект Blazor, чтобы у меня был проект библиотеки компонентов Razor для моих компонентов. При использовании Visual Studio 2019 это создает библиотеку компонентов бритвы с целевым назначением. NET Стандарт 2.0.

Потенциальным препятствием является то, что мой компонент зависит от библиотеки классов. NET Core 3.1.

Кто-нибудь может подсказать, как к этому подойти?

(а) Попытайтесь абстрагировать зависимость, не будучи уверенным, что это возможно из-за необходимого графа зависимостей, несмотря ни на что, (б) Преобразовать мой. NET Стандарт 2.0 RCL к. NET Core 3.1, сделает ли это его несовместимым для использования в моем Blazor. NET Core 3.1 проект?

Любой совет приветствуется.

1 Ответ

0 голосов
/ 11 февраля 2020

Представьте себе. NET Стандарт как интерфейс и отдельные платформы (. NET Core,. NET Framework, Mono, Unity, Xamarin и др. c.) Как реализации. . NET Core 3.1 реализует. NET Стандарт 2.1, поэтому, если у вас есть библиотека, предназначенная для. NET Стандарт 2.0, вы не можете ссылаться на библиотеку. NET Core 3.1 из нее, так как это другой интерфейс. Вы должны либо целиться. NET Core 3.1 напрямую, либо целиться. NET Стандарт 2.1.

Однако имейте в виду, что в настоящее время Blazor на стороне клиента использует инфраструктуру Mono для веб-сборки, а в настоящее время - Mono. реализует. NET Стандарт 2.0, а не 2.1. Это означает, что если вы настроите свою библиотеку на. NET Core 3.1 /.NET Standard 2.1, вы сможете использовать ее только в серверных приложениях Blazor. Если вам нужно / вы хотите поддерживать и Blazor на стороне клиента, то вам нужно оставаться нацеленным на. NET Стандарт 2.0. В этом случае вам нужно будет также нацелить вашу другую библиотеку на. NET Standard 2.0, если вам нужно сослаться на нее из этой.

...