#c# #.net
Вопрос:
У меня есть библиотека генератора исходных текстов, и мне нужно ссылаться на нее в библиотеке .NET5. Проблема в том, что генераторы исходных текстов, по-видимому, по какой-то причине должны содержаться в библиотеках .NETstandard 2.0, и внутри невозможно ссылаться на проекты .NET5 .Проекты NETstandard. Проект .NET5-это библиотека, которая содержит некоторые модели для приложения Blazor, она содержит некоторые коды, такие как атрибуты тегов для форм проверки, которые просто не будут работать, если я преобразовал проект в .NETstandard. Есть ли какие-либо возможные обходные пути для этого?
Ответ №1:
Мне удалось сделать это вот так.
Многоцелевой проект .NET 5 (обратите внимание: это целевая работа)
<TargetFrameworks>net5.0;netstandard2.0</TargetFrameworks>
Используйте директивы препроцессора, чтобы избежать ошибок в тех частях кода, для которых требуется .NET 5
#if NET5_0
[Range(1, int.MaxValue, ErrorMessage = "You have to insert a valid price")]
#endif
Вероятно, вы можете поступить таким образом в любом конкретном сценарии, где вам нужно ссылаться на проект .NET 5 или .NET Core внутри стандартного проекта .NET.