我想实现的目标:
我们有一个包含许多程序集的C#解决方案。我想创建一个NuGet包,其中包括解决方案中创建的所有程序集(您可以称之为“全局”包)。该包还应安装所包含程序集的所有依赖项。
我目前已经完成的工作: 我自己创建了一个 *.nuspec 文件(因为我无法使用 *.csproj 方法,因为该包应包含来自完整解决方案的所有程序集)。它包含所有依赖项(简化示例-未使用任何依赖组):
我使用NuGet 2.8.1创建了一个包,并将其发布到我们本地的NuGet服务器上。 *.nuspec文件中依赖项的所有NuGet包也已发布在该服务器上。 问题出在哪里?现在,当我安装包时,我期望安装我的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服务器上。 *.nuspec文件中依赖项的所有NuGet包也已发布在该服务器上。 问题出在哪里?现在,当我安装包时,我期望安装我的NuGet包的程序集以及包依赖项的程序集。第一个顺利进行,但没有安装依赖包。我尝试使用以下命令进行安装。
nuget.exe install packages.config -source http://path-to-nuget-server -o C:\install_path
当packages.config仅包含我发布的包时。
当我尝试使用包含所有相关程序集的packages.config文件安装依赖项时,它会从我们的NuGet服务器安装它们,而且没有任何错误消息。
为了进行一些研究(但没有成功),我已经尝试:
- 使用同一文件夹中所有*.nupkg文件调用"nuget pack"与我的*.nuspec文件
- 创建了一个NuGet.config文件,其中包含packageSources项目指向我们本地的NuGet服务器
也许有人能指出正确的解决方案?似乎在打包时我漏掉了一些东西,或者NuGet无法在安装过程中解析依赖项。