Почему библиотека классов Razor UI построена как стандарт .NET, а не как ядро ​​.Net - PullRequest
1 голос
/ 18 апреля 2019

Я создал библиотеку классов бритвы в базовом приложении .Net.библиотека, созданная как .NET Standard, и основной веб-проект, а также другие библиотеки классов, созданные как .Net core 2.2. Когда я пытаюсь добавить ссылку на мою библиотеку классов бритвы, я получаю эту ошибку:

проект несовместим со стандартом net 2.0

Я изменил целевую платформу в своей библиотеке классов бритвы с [netstandard2.0]:

enter image description here

до [netcoreapp2.2]:

enter image description here

и все отлично работает

IЯ знаю, что стандарт .Net позволяет библиотеке классов бритвы предназначаться для основных приложений .Net и приложений .NET Framework, но я также знаю, что библиотека классов Razor является функцией ядра .Net 2.1

Вопрос: Мне нужно знать, почему библиотека классов бритвы построена как стандарт .NET, а не в ядре .Net, и я должен изменить все свои библиотеки классов на .Net core 2, чтобы иметь возможность добавлять библиотеку классов ядра .Net в качестве ссылки?

1 Ответ

4 голосов
/ 18 апреля 2019

ASP.NET Core 2. * также работает в .NET Framework, поэтому вам понадобится библиотека .NET Standard для использования вашего пользовательского интерфейса Razor в хост-приложениях .NET Core и .NET Framework, поэтому имеет смысл использовать значение по умолчанию. шаблон для работы в обоих сценариях.

Поскольку ASP.NET Core 3+ больше не работает в .NET Framework, это поведение может измениться. Но предлагаемым значением по умолчанию для «библиотек» в настоящее время является .NET Standard, поэтому имеет смысл следовать шаблону библиотеки Razor UI.

...