Как выполнить разные действия на основе фреймворка? (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 мин.

Другие вопросы по тегам