Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Создание пакета NuGet. Требуется разъяснение о включенных зависимостях

Автор вопроса: JivemanОтветов: 1

Я впервые экспериментирую с созданием пакета NuGet, и меня немного смущает одна вещь:

Если я ссылаюсь на другие внешние пакеты NuGet (например, Ninject, Automapper и т. д.) внутри проекта, который я использую для создания собственного пользовательского пакета NuGet, как мне обрабатывать эти зависимости, когда мой пакет в конечном итоге будет использован/установлен? в реальном проекте?

Из моих первоначальных экспериментов сгенерированный пакет NuGet обнаруживает эти другие зависимости (Ninject, Automapper и т. д.) и отображает их в разделе Зависимости в пользовательском интерфейсе NuGet. Затем, когда я нажимаю "Установить", он фактически отключается и устанавливает Ninject/Automapper с Nuget.org.

Вот тут я в замешательстве. Разве к тому времени сборки Ninject/Automapper не являются частью моей созданной сборки пакета nuget? Разве потребитель моего пользовательского пакета NuGet не должен заботиться/видеть, что они зависят от Ninject/Automapper?

Дополнительная справочная информация

Вот шаги, которые я предпринял для создания собственного пакета NuGet:

  1. Создал файл .nuspec, выполнив следующее (в той же папке, где находится файл MyProject.csproj):

    nuget.exe spec
    
  2. Создал фактический файл пакета (.nupkg), выполнив:

    nuget.exe pack MyProject.csproj
    

xmlnugetnuget-package

Ответы

Ответ 1 · Slobo80

Вы выполнили правильный набор шагов для создания пакета. Ваш пакет имеет зависимости, которые перечислены в файле nuspec после создания пакета. В интересах потребителя вашего пакета понять, каковы зависимости. Кроме того, вы также можете указать, какой диапазон версий является допустимой зависимостью. Это полезно, если потребитель вашего пакета уже установил требуемую зависимость, которая может быть выше, чем минимально необходимая для вашего пакета.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы