Для собственного обучения я экспериментирую с консольным приложением DNX в Visual Studio 2015 и пытаюсь реализовать пример приложения, показанный в этой статье MSDN Дэниела Рота: https://msdn.microsoft.com/en-us/magazine/dn913182.aspx В разделе: Кроссплатформенное консольное приложение .Net
В этом примере автор выводит список служб, доступных в среде выполнения, путем перечисления свойства Service в экземпляре IServiceManifest, который внедряется в класс Program через конструктор. Чтобы предоставить приложению доступ к этому интерфейсу, автор определяет ANI (нейтральный интерфейс сборки), поскольку определение IServiceManifest находится внутри самого DNX.
Этот пример был написан некоторое время назад и:
1) IServiceManifest больше не существует. Я нашел IRuntimeServices в Microsoft.DNX.Runtime.Abstractions, который имеет то же свойство Services, поэтому я предполагаю, что он был просто переименован.
2) Что еще более важно, нейтральные интерфейсы сборки были удалены в более позднем обновлении, поэтому я не уверен, как получить доступ к интерфейсу IRuntimeServices, чтобы внедрить его в конструктор программы.
Я попытался добавить зависимость в project.json к Microsoft.DNX.Runtime.Abstractions, но восстановление пакета завершилось неудачей. Я предполагаю, что этот пакет недоступен в общедоступном канале nuget, поскольку он является частью самого DNX.
Есть ли способ создать такое приложение сейчас, когда ANI отброшены?
Заранее спасибо.