【问题标题】:dotnet test case does not obey solution build orderdotnet 测试用例不遵守解决方案构建顺序
【发布时间】:2020-12-30 12:18:27
【问题描述】:

我有一个 YAML 管道,它并不总是遵守项目构建顺序

 - job: Job_1
    displayName: Agent job 1
    pool:
      vmImage: windows-2019
    steps:
    - task: UseDotNet@2
      displayName: '.NET Core 3.1.404'
      inputs:
        version: '3.1.404'
        packageType: sdk
    - task: DotNetCoreCLI@2
      enabled: true
      displayName: dotnet test
      continueOnError: falsefo
      inputs:
        command: test
        projects: '**/*test/*.csproj'
        arguments: --configuration $(buildConfiguration) 
        publishTestResults: true          

这意味着对于管道的某些执行,我得到了错误

无法找到版本 (>= 2.0.3) 的包 NETStandard.Library

这发生在不是首先在 Visual Studio 中构建的项目上

是否有强制执行构建顺序的方法?还是买这个包?

保罗

【问题讨论】:

    标签: azure yaml azure-pipelines


    【解决方案1】:

    无法找到版本 (>= 2.0.3) 的包 NETStandard.Library。是 无论如何执行构建顺序?还是买这个包?

    问题是没有找到 NETStandard.Library 包。我认为这与项目的构建顺序无关。 NETStandard.Library 是一个 nuget 包,你可以尝试在管道中添加一个nuget restore 任务。

    - task: NuGetCommand@2
      inputs:
        command: 'restore'
        feedsToUse: 'config'
        nugetConfigPath: 'nuget.config'
    

    【讨论】:

    • 好的,谢谢,我可以试试这个,但奇怪的是管道大部分时间都在工作,只是偶尔会出现这个问题
    • 我没有 nuget.config 文件,当我搜索这个文件时,有几个文件都不在解决方案文件夹中?
    【解决方案2】:

    是否有强制执行构建顺序的方法?还是买这个包?

    您可以先构建/测试指定的项目:

    - task: DotNetCoreCLI@2
      enabled: true
      displayName: dotnet test
      continueOnError: falsefo
      inputs:
        command: test
        projects: '**/*test/TheSpecifyProject.csproj'
        arguments: --configuration $(buildConfiguration) 
        publishTestResults: true    
    

    然后构建/测试其他项目:

    - task: DotNetCoreCLI@2
      enabled: true
      displayName: dotnet test
      continueOnError: falsefo
      inputs:
        command: test
        projects: '**/*test/*.csproj'
        arguments: --configuration $(buildConfiguration) 
        publishTestResults: true 
    

    或者

    - task: DotNetCoreCLI@2
      enabled: true
      displayName: dotnet test
      continueOnError: falsefo
      inputs:
        command: test
        projects: |
         **/*test/*.csproj
         !**/*test/TheSpecifyProject.csproj
        arguments: --configuration $(buildConfiguration) 
        publishTestResults: true  
    

    【讨论】:

      猜你喜欢
      • 2013-12-24
      • 2018-02-15
      • 1970-01-01
      • 2011-12-24
      • 2016-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多