Подтвердить что ты не робот

Как добавить папку в файл nuspec

Итак, я на самом деле пытаюсь упаковать проект веб-сайта (а не веб-приложение, а не файл csproj) в пакет NuGet, готовый для использования Octopus, но я бегу в одну кирпичную стену за другой.

Я изучил использование OctoPack, но он не поддерживает проекты веб-проектов только для веб-приложений.

Теперь я пытаюсь найти способ добавления папки (в моем случае веб-сайта) в пакет Nuget, но Nuget не разрешает это через командную строку? Он также требует файл .csproj!

Я также попытался создать файлы спецификации NuGet и передать его в папку, но не возможно?

На данный момент мне, возможно, придется использовать NuGet explorer, но я хочу script this.

Я рассмотрел этот вопрос, но, похоже, не обрабатывал свой сценарий Могу ли я создать пакет nuget без файла проекта

Так кто-нибудь знает, как лучше всего добавить папку в пакет NuGet через командную строку!?

4b9b3361

Ответ 1

Я не знаю OctoPack, но с nuget.exe упаковка выполняется в два этапа:

  • Либо создайте .nuspec вручную, либо сгенерируйте его из .csproj или существующей сборки (см. nuget spec в документы).
  • Вызов nuget pack с параметром .nuspec, созданным на предыдущем шаге в качестве параметра.

Поскольку у вас нет окружения .csproj, вы застреваете в создании .nuspec вручную (или с помощью графического интерфейса, такого как NuGet Package Explorer).

Вы можете прочитать все о том, как создать файл .nuspec в Nuspec Reference, в частности раздел о Указание файлов для включения в пакет.

Если вы хотите включить в пакет папку (рекурсивно?), вам нужно добавить что-то вроде этого в XML:

<files>
  <file src="bin\Release\**\*.*" target="content" /> 
</files>

Это займет все файлы и (рекурсивные) подпапки в папке bin\Release и поместит их в папку content пакета NuGet.

Я не знаю, какой формат OctopusDeploy ожидает в пакетах, но то, как вы включаете папку в пакет.

РЕДАКТИРОВАТЬ. По-видимому, есть документация по этому поводу в OctoPack README.