Azure Pipelines VSBuild 配置无效

Azure Pipelines VSBuild configuration is invalid

我是 Azure 的新手,我继承了一个由不再在公司工作的其他人构建的管道。它在很多方面都坏了,所以我正在尝试根据我收到的原来坏掉的那个来建造一个新的。我一次执行一个命令来解决问题。当前以下任务失败:

- task: VSBuild@1
    displayName: Build Solution
    inputs:
      solution: $(BuildParameters.solution)
      msbuildArgs: /p:DeployOnBuild=true /p:WebPublishingMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\$(BuildConfiguration)\"
      platform: $(BuildPlatform)
      configuration: $(BuildConfiguration)

我已经研究过其他类似的堆栈溢出帖子,但仍然无法弄清楚问题出在哪里。我收到的警告是这样的:

Warning MSB4126: The specified solution configuration "$(BuildConfiguration)|$(BuildPlatform)" is invalid. Please specify a valid solution configuration using the Configuration and Platform properties (e.g. MSBuild.exe Solution.sln /p:Configuration=Debug /p:Platform="Any CPU") or leave those properties blank to use the default solution configuration.

这是我目前尝试过的方法:

  1. 我尝试删除平台和配置设置(上面第一个引用代码的最后两行)。这导致了 54 个其他警告,所以这似乎是个坏主意。

  2. 接下来,我将这两行放回我已删除的那一行,而是添加了以下内容:/p:Configuration=Debug /p:Platform="Any CPU" 到msbuildArgs 设置中列出的参数字符串的开头。这摆脱了 54 个新警告并带回了原始错误(换句话说它没有效果)

还有另一个堆栈溢出问题: 似乎对此有一个解决方案,但我不知道如何实际应用这个解决方案。该票证中有 Azure UI 的屏幕截图,我什至不知道如何进入 Azure 的该页面以查看这些选项。我的猜测是这个人没有使用 yaml 文件来设置管道并以旧方式进行,但我不想那样配置它,因为我更希望让 yaml 文件定义管道并存储它在我的 git 仓库中。

注意:我也一直在查看与这个项目相关的 sln 文件,试图从中理解它,我想我不确定这个文件的基本思想...

任何建议都会有所帮助,谢谢

看起来有两个变量没有定义:

$(BuildConfiguration)
$(BuildPlatform)

确保在您的管道 yaml 或变量选项卡上定义了变量。

参见:

将值设置为对解决方案有意义的值。我们无法猜测这些值,因为它们通常特定于正在构建的解决方案。

这里是步骤:-

  1. 转到您创建管道的 Azure Devops 管道。
  2. 单击“编辑管道”,为您创建的每个管道使用可见的 3 个点。
  3. 现在点击变量。
  4. 将 BuildConfiguration 和 BuildPlatform 留空(它会根据您在代码中的配置自动选择)。
  5. 保存并运行排队。

注意:- 这仅在您通过经典方法而非 YAML 创建管道时才有用。 我无法添加图像,因为它至少需要 10 分。一旦我得到这些分数,就会为每一步添加图像。