错误MSB4126:指定的解决方案配置" release | any cpu"是无效的

时间:2018-01-04 08:46:32

标签: azure-devops node-modules devops azure-pipelines

我为我的一个客户端应用程序设置了devops流程。它在构建和发布级别上都很好。但是几天后突然我的构建失败,出现以下错误。

  

node_modules \ uws \ build \ binding.sln.metaproj(0,0):错误MSB4126:指定的解决方案配置" release | any cpu"是无效的。请使用Configuration和Platform属性指定有效的解决方案配置(例如MSBuild.exe Solution.sln / p:Configuration = Debug / p:Platform =" Any CPU")或将这些属性留空以使用默认值解决方案配置。

enter image description here

有谁能告诉我如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

您可以使用 PowerShell任务来更改.sln文件。

假设您想要构建除网站项目之外的项目,那么您可以删除.sln文件的GlobalSection中的网站项目信息。

先决条件:

获取要删除的项目ID,格式为ECF93D95-5096-497E-B4B8-83416DABB516

然后在 VS构建任务之前添加PowerShell任务,以构建其他项目。脚本为:

git checkout $(BUILD.SOURCEBRANCHNAME)
(get-content "$(Build.SourcesDirectory)\relative\path\to\solution") -notmatch "{project_ID}.$(BuildConfiguration)" | out-file "$(Build.SourcesDirectory)\relative\path\to\solution"

以下示例从ECF93D95-5096-497E-B4B8-83416DABB516文件中删除项目.sln

git checkout $(BUILD.SOURCEBRANCHNAME)
(get-content "$(Build.SourcesDirectory)\ConsoleAppCore\ConsoleAppCore.sln") -notmatch "{ECF93D95-5096-497E-B4B8-83416DABB516}.$(BuildConfiguration)" | out-file "$(Build.SourcesDirectory)\ConsoleAppCore\ConsoleAppCore.sln"

VS Build任务之后,您可以添加另一个PowerShell任务来恢复已更改的.sln作为git repo中的相同版本。脚本为:

git reset --hard head

对于构建除其他项目之外的websit项目,您可以使用相同的方式跳过要构建的项目。

注意:对于PowerShell任务,请取消选择标准错误选项失败。

enter image description here

答案 1 :(得分:0)

我认为最好的选择是使用多个目标组合的解决方案(分区解决方案) 这是获取更多信息的链接

Partitioned Solution

我也在许多开源项目中实现,其中一个是

Project on GitHub using Partitioned Solution enter image description here

答案 2 :(得分:0)

我在使用VSTS时遇到了这个问题。我建议您直接使用MSBuild个参数

何添加到MSBuild参数中:

/p:Configuration=$(BuildConfiguration) /p:Platform="$(BuildPlatform)"

注意:将平台和配置留空