#c# #asp.net-mvc #asp.net-core #razor #.net-core
#c# #asp.net-mvc #asp.net-ядро #бритва #.net-ядро
Вопрос:
Я создал библиотеку классов razor в a .Приложение Net core. библиотека, созданная как .NET Standard, и основной веб-проект, а также другие библиотеки классов, созданные как .Net core 2.2, когда я пытаюсь добавить ссылку на свою библиотеку классов razor, я получаю эту ошибку:
проект несовместим с Net standard 2.0
Я изменил целевую структуру в моей библиотеке классов razor с [netstandard2.0] :
в [netcoreapp2.2]:
и все работает нормально
Я это знаю.Net standard позволяет использовать библиотеку классов razor для таргетинга .Приложения Net core и .Приложения Net core framework, но я также знаю, что библиотека классов Razor является особенностью .Сетевое ядро 2.1
Вопрос: Мне нужно знать, почему библиотека классов razor построена как .NET Standard, а не in .Net core и должен ли я изменить все свои библиотеки классов на .Net core 2, чтобы иметь возможность добавлять.Библиотека классов Net core в качестве ссылки ?
Комментарии:
1. .NET Standard означает, что его можно использовать в .NET Core, .NET Framework и, возможно, Mono. Это было бы не так, если бы оно было предназначено только для ядра.
2. @ckuri но почему Microsoft включает эту функцию в . Net core ?
3. ЧЕЛОВЕК!!! Спасибо, что подсказали мне эту информацию об изменении targetFramework вручную!!!! Я потерял целый день, пытаясь выполнить это.
Ответ №1:
ASP.NET Core 2. * также работает на платформе .NET Framework, поэтому вам потребуется стандартная библиотека .NET для использования пользовательского интерфейса Razor как в приложениях, размещенных на .NET Core, так и в .NET Framework, поэтому имеет смысл использовать шаблон по умолчанию для работы в обоих сценариях.
Как ASP.NET Core 3 больше не будет работать в .NET Framework, это поведение может измениться. Но предлагаемое значение по умолчанию для «библиотек» в настоящее время является стандартом .NET, поэтому имеет смысл использовать шаблон библиотеки пользовательского интерфейса Razor.