Reputation: 120
What i want to achieve: We have a C# solution with a bunch of assemblies to be created. I want to create a NuGet package that includes all of the assemblies created by the solution (you could call it a "solution-wide" package). The package should install all of the dependencies of the contained assemblies as well.
What i've done so far: I created a *.nuspec-file all by myself (since i could not use the *.csproj-approach because the package should contain all assemblies from the complete solution). It contains all dependencies (shortened example - no dependency group used):
<dependencies>
...
<dependency id=Insight.Itk.x64" version="2.4.8.0" />
<dependency id=Intel.Ipp.x64" version="6.1.2.041" />
...
</dependencies>
I created the package using NuGet 2.8.1 and published it on our local NuGet-server. All NuGet packages of the dependencies in the *.nuspec-file have also been published on that server.
What's the problem? Now when i install the package, i was expecting that the assemblies of my NuGet package are installed and the assemblies from the package's dependencies. First one happes smoothly, but no dependency package is installed. I tried to install using the command
nuget.exe install packages.config -source http://path-to-nuget-server -o C:\install_path
where the packages.config only includes my published package.
When i'm trying to install the dependent assemblies using the same command with the packages.config-file containing all of them as packages, it installs them from our NuGet-server, with no error message at all.
What i already tried on purpose of some research (without success) is:
Maybe someone could point me to the correct solution? It just seems i'm missing something while packing, or maybe NuGet can't resolve the dependencies on installing.
Upvotes: 3
Views: 1795
Reputation: 47947
The command nuget.exe install packages.config
does not update the packages.config file. All that command does is download the NuGet packages that are defined in the packages.config file to a directory. It will not download any dependencies unless they are explicitly listed in the packages.config file.
To test your NuGet package installs the correct dependencies you should install it using Visual Studio.
Upvotes: 4