Nuget 如何将文件夹添加到nuspec文件

Nuget 如何将文件夹添加到nuspec文件,nuget,octopus-deploy,nuget-spec,Nuget,Octopus Deploy,Nuget Spec,所以我实际上是想把一个网站项目(不是web应用程序,所以没有csproj文件)打包成一个NuGet包,准备让章鱼消费,但我遇到了一堵又一堵的砖墙 我考虑过使用OctoPack,但它不支持网站项目,只支持web应用程序项目 我现在正试图找到一种将文件夹(在我的例子中是一个网站)添加到Nuget包中的方法,但是Nuget不允许通过命令行这样做,是吗?它还需要一个.csproj文件 我还尝试创建NuGet spec文件并将其传递到文件夹中,但不可能 目前,我可能不得不使用NuGet包资源管理器,但我想

所以我实际上是想把一个网站项目(不是web应用程序,所以没有csproj文件)打包成一个NuGet包,准备让章鱼消费,但我遇到了一堵又一堵的砖墙

我考虑过使用OctoPack,但它不支持网站项目,只支持web应用程序项目

我现在正试图找到一种将文件夹(在我的例子中是一个网站)添加到Nuget包中的方法,但是Nuget不允许通过命令行这样做,是吗?它还需要一个.csproj文件

我还尝试创建NuGet spec文件并将其传递到文件夹中,但不可能

目前,我可能不得不使用NuGet包资源管理器,但我想编写脚本

我已经看过这个问题,但似乎无法处理我的情况


那么,有人知道如何通过命令行将文件夹添加到NuGet包中吗

我不知道OctoPack,但使用nuget.exe,打包分两步完成:

  • 手动创建.nuspec,或者从.csproj或现有程序集生成一个.nuspec(请参见中的
    nuget spec
  • 调用
    nuget pack
    ,将在上一步中创建的.nuspec作为参数
  • 由于您没有.csproj,因此无法手动创建.nuspec(或使用类似的GUI工具)

    您可以在中阅读有关如何创建.nuspec文件的所有信息,特别是关于的部分

    如果希望在包中包含文件夹(递归?),则需要向XML中添加类似以下内容:

    <files>
      <file src="bin\Release\**\*.*" target="content" /> 
    </files>
    
    
    
    这将获取
    bin\Release
    文件夹的所有文件和(递归)子文件夹,并将它们放在NuGet软件包的
    content
    文件夹中

    我不知道OctopusDeploy希望在包中使用什么格式,但这就是在包中包含文件夹的方式


    编辑:中似乎有一些关于此的文档。

    此递归语法可能就是我要寻找的,我将在下一步尝试。谢谢。现在,如果我能找到一个摆脱强制的方法提取nuget软件包时创建的内容文件夹如果不指定目标(
    content
    ),它会将所有内容都放在根目录中。内容是NuGet软件包中的一部分。@LeeEnglestone我也被困在这一点上。您是否能够从网站项目中创建与八达通兼容的nuget软件包?请分享您遵循的步骤。有没有一种方法可以不直接参考
    bin\Release
    ?如果我想创建一个预发布包,它恰好是一个
    Debug
    build,该怎么办?