Чего я хочу достичь: у нас есть решение на C #, в котором нужно создать множество сборок. Я хочу создать пакет NuGet, включающий все сборки, созданные решением (вы могли бы назвать его пакетом «всего решения»). Пакет также должен установить все зависимости содержащихся сборок.
Что я сделал до сих пор: я сам создал * .nuspec-файл (так как я не мог использовать * .csproj-подход, потому что пакет должен содержать все сборки из полного решения) . Он содержит все зависимости (сокращенный пример - группа зависимостей не используется):
<dependencies>
...
<dependency id=Insight.Itk.x64" version="2.4.8.0" />
<dependency id=Intel.Ipp.x64" version="6.1.2.041" />
...
</dependencies>
Я создал пакет с помощью NuGet 2.8.1 и опубликовал его на нашем локальном NuGet-сервере. Все пакеты NuGet с зависимостями в файле * .nuspec также были опубликованы на этом сервере.
В чем проблема? Теперь, когда я устанавливаю пакет, я ожидал, что сборки моего пакета NuGet будут установлены и сборки из зависимостей пакета. Сначала все идет гладко, но пакет зависимостей не установлен. Я пробовал установить с помощью команды
nuget.exe install packages.config -source http://path-to-nuget-server -o C:\install_path
где packages.config включает только мой опубликованный пакет.
Когда я пытаюсь установить зависимые сборки, используя ту же команду, что и файл packages.config, содержащий все из них как пакеты, он устанавливает их с нашего NuGet-сервера без каких-либо сообщений об ошибке.
То, что я уже пробовал с целью некоторого исследования (безуспешно), это:
- Вызывается "nuget pack" со всеми * .nupkg-файлами зависимостей в той же папке, что и мой * .nuspec-файл.
- Создал файл NuGet.config с packageSources-Items для нашего локального NuGet-сервера
Может быть, кто-нибудь подскажет мне правильное решение? Просто кажется, что мне что-то не хватает при упаковке, или, может быть, NuGet не может разрешить зависимости при установке.