Angular VSTS-将文件夹包含到ASP.NET核心应用程序工件中

Angular VSTS-将文件夹包含到ASP.NET核心应用程序工件中,angular,azure-pipelines,Angular,Azure Pipelines,我在单独的回购协议中有一个Angular 4项目(NG-p)。另外,我在另一个回购协议中有我的ASP.NET核心项目(Core-p)。在构建Cope-p时,它必须包含NG-p工件。我设法做到了。下面是它的工作原理: 当NG-p发生变化时,VSTS构建它并将一个zip文件放入Azure存储 Core-p在这之后得到构建,并生成……嗯,一些……作为构建.NET核心任务的一部分 它从Azure存储中获取该zip文件(NG-p工件),将其解压缩并放入$(Build.ArtifactStagingDir

我在单独的回购协议中有一个Angular 4项目(NG-p)。另外,我在另一个回购协议中有我的ASP.NET核心项目(Core-p)。在构建Cope-p时,它必须包含NG-p工件。我设法做到了。下面是它的工作原理:

  • 当NG-p发生变化时,VSTS构建它并将一个zip文件放入Azure存储
  • Core-p在这之后得到构建,并生成……嗯,一些……作为构建.NET核心任务的一部分
  • 它从Azure存储中获取该zip文件(NG-p工件),将其解压缩并放入$(Build.ArtifactStagingDirectory)/wwwroot/js/app文件夹
  • 其他一切都是标准任务——测试、发布、发布工件
构建成功。但当我打开工件时,它包含:

  • wwwroot文件夹(其中包含所有NG-p文件)

  • 和myproject.zip文件(所有内容都是Core-p)是的,您可以在
    myproject.zip中创建NG-p文件和Core-p文件。要将NG-p文件转换为
    myproject.zip
    ,您需要在Core-p构建定义中执行以下任务:

  • 解压缩文件:将Azure中的zip文件解压缩到
    $(Build.ArtifactStagingDirectory)
    (Destination文件夹)
  • 复制文件:将文件从Core-p repo的根目录复制到
    $(Build.ArtifactStagingDirectory)
    (目标文件夹)
  • 存档文件:将
    $(Build.artifactstagindirectory)
    文件夹中的文件压缩为
    $(Build.artifactstagindirectory)/myproject.zip中的zip(要创建的存档文件)
  • 发布构建工件:将
    myproject.zip
    发布为工件

  • 好的,我通过将“提取文件”任务中的目标路径更改为以下内容使其正常工作:
    
    $(Build.ArtifactStagingDirectory)/$(Build.Repository.Name)/wwwroot/js/app
    

    现在,所有文件都在正确的位置