【问题标题】:Azure DevOps pipeline get DACPAC from Solution with Asp.Net MVC + Database ProjectsAzure DevOps 管道从使用 Asp.Net MVC + 数据库项目的解决方案中获取 DACPAC
【发布时间】:2023-03-26 16:44:01
【问题描述】:

我有一个包含 2 个项目的 Visual Studio 解决方案 (.sln):

  • ASP.NET MVC(主体)生成包含要在 IIS 中发布的所有文件的 zip
  • 生成 .dacpac 文件以在 SQL-Server 中发布的数据库项目

我生成了一个管道来生成 Web 和 DB 项目的 Artifact,但它不包含 .dacpac 文件。

这是我的 yml:

trigger:
- master

pool:
  vmImage: 'windows-latest'

variables:
  solution: '**/*.sln'
  buildPlatform: 'Any CPU'
  buildConfiguration: 'Release'

steps:
- task: NuGetToolInstaller@1

- task: NuGetCommand@2
  inputs:
    restoreSolution: '$(solution)'

- task: VSBuild@1
  inputs:
    solution: '$(solution)'
    msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactStagingDirectory)"'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

- task: VSTest@2
  inputs:
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

- task: CopyFiles@1
  inputs:
    Contents: '*.dacpac'
    TargetFolder: '$(build.artifactStagingDirectory)'

- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)'
    ArtifactName: 'drop'
    publishLocation: 'Container'

我尝试将数据库项目添加为 Web 项目的依赖项,但结果相同。

我不确定它是否正在生成:

我尝试手动复制(您可以在 yml 上看到)但没有找到:

有什么想法吗?

【问题讨论】:

    标签: sql-server asp.net-mvc visual-studio azure-devops azure-pipelines


    【解决方案1】:

    解决了在 CopyFile 任务中更改源文件夹和内容的问题

    - task: CopyFiles@1
      inputs:
        SourceFolder: '$(System.DefaultWorkingDirectory)'
        Contents: 'it-EMDB/bin/$(BuildConfiguration)/*'
        TargetFolder: '$(Build.ArtifactStagingDirectory)'
    

    【讨论】:

    • 太棒了!感谢您在这里分享您的解决方案,您可以接受它作为答案,这样它可以帮助遇到相同问题的其他社区成员,我们可以归档这个帖子,谢谢。
    猜你喜欢
    • 2020-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-26
    • 2019-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多