Appveyoyr无法构建ASP.NET Core WebApi项目

时间:2017-12-08 12:26:33

标签: asp.net asp.net-core asp.net-core-webapi appveyor

我继续收到此错误:

  

错误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 localy,一切都很好。不确定它的14或15是否都安装了。无论如何,有没有人知道是否有可能在Appveyor中使用15进行构建?

2 个答案:

答案 0 :(得分:2)

请将image: Visual Studio 2017添加到appveyor.yml

答案 1 :(得分:0)

好的,问题很简单。它实际上是MsBuild,但无论是什么因为Rider将版本12硬编码为sln文件,它只是更改了sln文件中的相应版本目标,并且所有内容都成功编译。