这是我第一次尝试创建NuGet包,我对一件事感到有些困惑:
如果我在我用来构建我自己的自定义NuGet包的项目中引用其他外部NuGet包(例如,Ninject,Automapper等),我应该如何在我的包中处理这些依赖项最终消耗/安装在实际项目中?
从我最初的实验到目前为止,生成的NuGet包检测到其他依赖项(Ninject,Automapper等),并在NuGet的 依赖项 部分显示它们UI。然后,当我单击Install时,它实际上会从Nuget.org下载并安装Ninject / Automapper。
这是我感到困惑的地方。 Aren的Ninject / Automapper程序集是我创建的nuget包程序集的一部分吗?难道我的自定义NuGet包的消费者不关心/看他们依赖于Ninject / Automapper吗?
这是我到目前为止创建自定义NuGet包的步骤:
通过执行以下操作(在 MyProject.csproj 文件所在的同一文件夹内)创建 .nuspec 文件:
nuget.exe spec
执行以下命令创建实际的包文件( .nupkg ):
nuget.exe pack MyProject.csproj
答案 0 :(得分:0)
您按照正确的步骤创建了包。生成包后,您的包具有nuspec文件中列出的依赖项。 了解依赖项是什么符合您的程序包的使用者的利益。此外,您还可以指定哪个版本的版本是有效的依赖项。如果您的软件包的使用者已经安装了所需的依赖项,这可能高于您的软件包所需的最小值,那么这将非常有用。