Например, это произошло со мной, когда я добавил конфигурацию (IConfigurationRoot) в файл Startup.cs, чтобы иметь доступ к файлу appsettings.json, который имеет строку подключения..Net Core: с использованием директивы без добавления пакета?
Так первый раз, когда я пишу IConfigurationRoot, очевидно, помечаются как не признается, поэтому я кладу мыши над ним и расширить визуальные предложения Студии с лампочки, а именно:
- использованием Microsoft.Extension .Configuration:
- Microsoft.Extension.Configuration.IConfigurationRoot
- Сформировать Тип
- Добавить пакет Microsoft.Extension.Configuration.Abstractions 1.1.0
Так что, если я выбираю «using Microsoft.Extensions.Configuration», в верхней части моего файла добавляется директива using, а VS распознает IConfigurationRoot, все работает нормально. Но проверка ссылок в моем проекте, эта библиотека не была добавлена к нему:
Так что, если вместо того, выбирая с помощью директивы, я выбираю «Добавить пакет Microsoft.Extensions.Configuration.Abstractions 1.1.0» , Visual Studio также добавляет, используя директиву но дополнительно добавляет новый Артикул:
Я не понимая, почему это происходит, почему добавление с помощью директивы (первое предложение) работает отлично, это потому, ссылка уже содержится в другом либрале ary ?, если да, то почему я должен добавить пакет отдельно ?. Лучше ли добавлять его индивидуально? Что произойдет, если я это сделаю, добавлю ли я ссылку на одну и ту же библиотеку дважды?
Заранее спасибо.
package Microsoft.Extension.Configuration.Abstractions - это зависимость пакета Microsoft.Extension.Configuration.Json. Вы можете проверить в пакете «Microsoft.Extension.Configuration.Json», чтобы увидеть, что пакет «Абстракция» уже включен? Ядро .NET для VS2015 очень незавершено для таких странных вещей, как это происходит :) –