如何解决 Jenkins 构建失败错误:MSB4041

Posted

技术标签:

【中文标题】如何解决 Jenkins 构建失败错误:MSB4041【英文标题】:how to solve Jenkins Build Failed Error :MSB4041 【发布时间】:2019-03-26 04:28:48 【问题描述】:

我已将此项目构建为 .Net 标准项目,并且在构建此项目时在 jenkins 中遇到此错误问题:

C:\Users\tahab.jenkins\workspace\Mondaytest\Calculator\Calculator.csproj(1,1): 错误 MSB4041:项目的默认 XML 命名空间必须是 MSBuild XML 命名空间。如果项目是在 MSBuild 2003 中创作的 格式,请补充 xmlns="http://schemas.microsoft.com/developer/msbuild/2003" 到 元素。如果项目是在旧 1.0 或 1.2格式,请转成MSBuild 2003格式

【问题讨论】:

其他用户将您的问题标记为低质量和需要改进。我重新措辞/格式化您的输入,使其更容易阅读/理解。请查看我的更改以确保它们反映您的意图。但我认为你的问题仍然无法回答。 现在应该edit你的问题,添加缺失的细节(见minimal reproducible example)。如果您对我有其他问题或反馈,请随时给我留言。 这能回答你的问题吗? The default XML namespace of the project must be the MSBuild XML namespace 我投票决定关闭 ***.com/questions/42509313/… 的副本。出于某种原因,谷歌首先给了我这个。由于投票为零,我不知道解决方案是否在这里有效。 【参考方案1】:

确保您使用最新版本的 MSBuild 任务来构建项目。

您还需要使用 Visual Studio 2017(构建工具、完整版、..)版本的 MSBuild(Visual Studio 安装的本地版本)来构建您的项目。

您可能需要配置 MSBuild 的路径,这将是 - 取决于安装在构建代理上的版本 - 类似于

C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe

如果您尝试使用旧版本的 Visual Studio/MSBuild 或什至使用属于 .NET Framework 的旧版本的 MSBuild 构建新项目,则会发生此错误。

【讨论】:

以上是关于如何解决 Jenkins 构建失败错误:MSB4041的主要内容,如果未能解决你的问题,请参考以下文章

错误 MSB3103:Resx 文件无效。指定的模块无法找到

如何解决 .net 核心构建错误 NETDSDK1061 和警告 MSB3277

MSB4018 “ResolveComReference”任务意外失败

VSTS 构建失败 MSB1009 项目文件不存在

jenkins构建项目的错误和原因及其解决方法

错误MSB4018 “ResolvePackageAssets”任务意外失败的解决方法