Ответ 1
Я думаю, единственный ответ - это зависит.
Dnx vs Dnx Core
Dnx работает поверх платформы .NET(а также моно) и имеет доступ к полной версии .NET 4.5.2 (теперь .NET 4.6) BCL. В основном все добавлено в .NET с 1.0.
Dnx Core запускает ontop CoreClr, который по существу является урезанной версией .NET Framework. Некоторые вещи отсутствуют, некоторые вещи никогда не придут к CoreClr по разным причинам. Я не знаю конкретного списка того, что произойдет/не придет. Вы можете совать на corefx и coreclr github, чтобы посмотреть, что там есть.
Теперь вопрос действительно о лучшем подходе. У вас есть несколько вариантов.
Если вы никогда не планируете запускать проект в CoreCLR, вы можете удалить его из проекта project.json вместе.
Если вы планируете работать в CoreCLR (независимо от причины), вы можете сделать несколько вещей.
-
Использовать общие методы API для среды
В вашем случае, если
theDate.ToString("d")
эквивалентноtheDate.ToShortDateString()
, то почему бы просто не использовать первый? -
Используйте соответствующую директиву компилятора
DNX451
и т.д.В средах, которые не имеют реализации того, что вы ищете, вы можете бросить или реализовать свою собственную версию, если это имеет смысл.