Как выполнить разные действия на основе фреймворка? (ASP.NET 5)
Предположим, вам нужно перенести приложение C# из платформы.NET в новое ядро .NET, потому что вы хотите получить некоторые из его новых возможностей.
У вас есть база кода, и вы хотите получать полностью работающие части за раз, так как это будет много работы по переносу всех сразу. Основная идея состоит в том, чтобы быть полностью ядром в будущем.
Мой вопрос:
- Есть ли способ проверить функциональность, которая присутствует в одной структуре, но не в другой? Или выполнять разные действия на основе фреймворка?
1 ответ
Существуют директивы компилятора (#if) для проверки символов, которые соответствуют двум структурам. И также возможно предназначаться для обеих структур.
Если, например, у вас есть код, который использует ресурсы, которые недоступны как часть.NET Core, вы можете заключить их в директиву условной компиляции.
Пример использования директив компилятора...
#if DNX451
// Do something
#elif DNXCORE50
// Do something
#else
#error No implementation for this target
# endif
куда DNX451
представляет.NET Framework и DNXCORE50
представляет.NET Core.
Посмотрите их в действии на этом видео в 36 мин.