【发布时间】:2018-05-22 16:51:44
【问题描述】:
我不断收到此错误:
错误 MSB4041:项目的默认 XML 命名空间必须是 MSBuild XML 命名空间。如果项目是在 MSBuild 2003 中创作的 格式,请补充 xmlns="http://schemas.microsoft.com/developer/msbuild/2003" 到 元素。如果项目是在旧 1.0 或 1.2格式,请转成MSBuild 2003格式。
我的项目是在 Rider 中设置的,它可以在本地顺利编译。我想这可能与 MSBuild 版本有关。
我的 appveyor.yml 看起来像这样:
version: 1.0.{build}
image: Visual Studio 2017
configuration: Release
platform: Any CPU
before_build:
- cmd: set ASPNETCORE_ENVIRONMENT=Production
build:
project: BoatInspectorWebApi.sln
verbosity: detailed
实在想不出到底发生了什么。
有没有人遇到过类似的问题?
UPDATE(详细日志和导出的 yml)] 我导出了 yml 来检查自己是否有错误,并做了详细的日志,打印错误的部分看起来像这样
使用“12.0”版工具构建。 C:\projects\boatinspectorwebapi\BoatInspectorWebApi\BoatInspectorWebApi.csproj(1,1):错误MSB4041:项目的默认XML命名空间必须是MSBuild XML命名空间。如果项目以 MSBuild 2003 格式创作,请将 xmlns="http://schemas.microsoft.com/developer/msbuild/2003" 添加到元素中。如果项目是以旧的 1.0 或 1.2 格式创作的,请将其转换为 MSBuild 2003 格式。 完成构建项目“C:\projects\boatinspectorwebapi\BoatInspectorWebApi\BoatInspectorWebApi.csproj”(默认目标)——失败。
看起来 Appveyor 正在使用 MsBuild 12,这会导致问题。我在本地使用 15 或 14,一切都很好。不确定是 14 还是 15 导致它们都已安装。无论如何,有谁知道是否可以在 Appveyor 中使用 15 进行构建?
【问题讨论】:
标签: asp.net asp.net-core asp.net-core-webapi appveyor