我应该把nuspec文件放在哪里

时间:2018-04-18 13:14:22

标签: nuget-package nuspec nuget-spec

我搜索了整个stackoverflow社区,但我找不到这个答案......

我有一个.nuspec文件,我不知道哪里我必须把它。有些主题说我必须将它放在项目目录中并包含在版本控制中。其他人说它只是将文件保存在与.nupkg文件相同的目录中......但它对我不起作用。有什么想法吗?

提前致谢。

2 个答案:

答案 0 :(得分:1)

NUSpec文件包含包元数据,用于创建包。

从您的项目创建一个包,这就是为什么将NUSpec文件放在项目文件夹中是有意义的。

这是有道理的,因为它可以作为该项目的一部分提交给您的源代码控制,这可以将所有内容保存在一个位置,这样可以更轻松地使用CI / CD管道自动创建包。

当然,您可以执行其他操作,例如在项目文件夹的同一级别创建NUSpec文件夹,然后将文件放在那里。 Nuget.exe接受NUSpec文件的路径,因此实际位置无关紧要。

但是,请始终考虑您的源代码管理以及管理/创建此程序包的方式,只要您可以轻松地执行此操作,然后将其放在对您有意义的任何位置。

你提到过NPE,它在幕后真的很重要,无论如何它很可能会调用nuget.exe。如果您想了解如何使用它,请查看此处:https://docs.microsoft.com/en-us/nuget/create-packages/creating-a-package

作为惯例,他们还建议将nuspec文件放在与proj文件相同的位置。

答案 1 :(得分:0)

据我所知,您可以使用NPE构建包。 据我所知,NPE是一个ClickOnce应用程序,可以打开包,你可以在那里放置甚至创建包。

当问题是:我在哪里把nuspec放在包装内?答案是:在包的根文件夹中:

否则答案已经被另一个答案回答了。

的相关信息:

  • nuget包是zip文件
  • 要了解nuspec在其他软件包中的位置,只需打开一个NPE或7zip
  • 我查看了newtonsoft.json包
  • 解压缩它,它显然位于包
  • 的根文件夹中

enter image description here