Куда мне поместить файл nuspec

Я обыскал все сообщество stackoverflow, но не нашел ответа на этот вопрос...

У меня есть файл .nuspec, и я понятия не имею, куда его поместить. В некоторых темах говорится, что я должен поместить его в каталог проекта и включить в систему контроля версий. Другие говорят, что просто храните файл в том же каталоге, что и файл .nupkg... но у меня это не сработало. Есть идеи?

Заранее спасибо.


person thatsallfolks    schedule 18.04.2018    source источник


Ответы (2)


Файл 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.

person Andrei Dragotoniu    schedule 18.04.2018
comment
Хорошо, я использую Nuget Package Explorer (NPE) для создания пакета, поэтому я думаю, что здесь есть некоторая разница. Прости, что не сказал тебе раньше. - person thatsallfolks; 18.04.2018
comment
добавил больше деталей - person Andrei Dragotoniu; 18.04.2018

Как я понял из ваших комментариев, вы создаете пакет с NPE. Насколько я помню, NPE было приложением ClickOnce, которое открывает пакеты, и вы можете размещать или даже создавать пакеты там.

Когда возникает вопрос: куда положить нуспек в упаковке? ответ: В корневой папке пакета:

В противном случае на ответ уже дан другой ответ.

Информация:

  • пакеты nuget представляют собой zip-файлы
  • Чтобы понять, где находится nuspec в других пакетах, просто откройте один из них с помощью NPE или 7zip.
  • Я просмотрел пакет newtonsoft.json
  • Разархивировал его, и он, очевидно, находится в корневой папке пакета.

введите здесь описание изображения

person JackGrinningCat    schedule 19.04.2018