Как использовать провайдер IVsPackageSourceProvider

337
21 декабря 2016, 00:48

Привет! Как с помощью IVsPackageSourceProvider я могу получить список источников NuGet пакетов? Пробую использовать вот такую конструкцию:

    using (Microsoft.VisualStudio.Shell.ServiceProvider provider = new Microsoft.VisualStudio.Shell.ServiceProvider((Microsoft.VisualStudio.OLE.Interop.IServiceProvider)base._dteObject))
    {
        IComponentModel service = (IComponentModel)provider.GetService(typeof(SComponentModel));
        try
        {
            var sourceProvider = service.GetService<IVsPackageSourceProvider>();
        }
        catch(Exception ex)
        {
        }
    }

Но в блоке try падает Exception с текстом:

Cannot cast the underlying exported value of type 'NuGet.VisualStudio.VsPackageSourceProvider (ContractName="NuGet.VisualStudio.IVsPackageSourceProvider")' to type 'NuGet.VisualStudio.IVsPackageSourceProvider'

Подскажите как правильно использовать этот провайдер.

Заранее спасибо!

Answer 1

Причина проблемы, как я понял, кроется в Visual Studio 2012/2013 и NuGet Manager 2.12.0.817.

Причем проект успешно собирается с такими строками, однако во время исполнения на указанных продуктах успешно падает.

Корректно работает на Visual Studio 2015 и NuGet Manager 3.4.4.1321.

READ ALSO
Верификация пароля на спецсимволы

Верификация пароля на спецсимволы

Главное условие чтоб в пароле была как минимум одна цифра, буква, и спецсимвол

298
библиотеки для ковертирования MDI в PDF

библиотеки для ковертирования MDI в PDF

Подскажите, есть ли хоть какая-нибудь библиотека по конвертированию/извлечению из изображений из устаревшего формата microsoft document image format в pdf? Желательно...

308