Command line 使用NuGet.exe安装/更新不带项目文件的纯内容软件包

Command line 使用NuGet.exe安装/更新不带项目文件的纯内容软件包,command-line,nuget,Command Line,Nuget,我们有一个本地NuGet提要,其中包含一些JS纯内容包。 我想在一个普通的JS应用程序中安装这些软件包(我在括号中编辑它,在这里我根本不用VS)。显然,像鲍尔这样的东西会更合适,但我不想维持两个包饲料系统 如果我安装了numget install MyPackage,它会下载并解压包,但不会将内容文件复制到子文件夹(实际上它会下载当前文件夹中的包) 我可以使用nuget.exe来实际复制内容,还是必须是一个外部步骤?好的,下面是我为命令行更新所做的一些初始工作(如果您手动修改packages.c

我们有一个本地NuGet提要,其中包含一些JS纯内容包。
我想在一个普通的JS应用程序中安装这些软件包(我在括号中编辑它,在这里我根本不用VS)。显然,像鲍尔这样的东西会更合适,但我不想维持两个包饲料系统

如果我安装了
numget install MyPackage
,它会下载并解压包,但不会将内容文件复制到子文件夹(实际上它会下载当前文件夹中的包)


我可以使用nuget.exe来实际复制内容,还是必须是一个外部步骤?

好的,下面是我为命令行更新所做的一些初始工作(如果您手动修改packages.config,这同样适用于安装)

它有以下限制:

  • 它希望您将包保存在nuget_packages文件夹中(类似于node_模块)
  • 您需要在该文件夹中有一个packages.config文件
  • 仅复制内容文件夹的内容,不运行安装等
  • 如果现有文件/文件夹与内容文件/文件夹同名,则该文件/文件夹将被覆盖
  • 代码:

    设置严格模式-版本2
    $ErrorActionPreference='Stop'
    $packagesDirectory=(获取项目numget\u包)
    $packagesDirectory.GetDirectories()|%{
    写入主机“正在删除$\”
    删除项目$\ FullName-递归
    }
    写入主机“启动nuget.exe”
    启动进程nuget-ArgumentList“install packages.config”-工作目录nuget_packages-NoNewWindow-等待
    $packagesDirectory.GetDirectories()|%{
    $contentPath=连接路径(连接路径$packagesDirectory.Name$)“content”
    if(!(测试路径$contentPath)){
    返回;
    }
    获取子项$contentPath-排除*.transform |%{
    $target=$\ux.Name
    if(测试路径$target){
    写入主机“删除$target”
    删除项$target-递归
    }
    写入主机“正在将$(连接路径$contentPath$\名称)复制到$target”
    复制项目$\ FullName-目标$target-递归
    }
    }
    
    我使用带有flant=“true”的标签
    从根目录下载包文件。我的nuget包包含Typescript文件

     <contentFiles>
            <files include="cm-common/**/*" buildAction="None" flatten="true" />
    </contentFiles>
    
    
    
    我最初使用的是
    标记,它提取该位置的文件 root/package.name/content/{files}

    这可能对某人有帮助