Laden...

Wie kann ich msbuild15 bei Appveyor verwenden?

Letzter Beitrag vor 7 Jahren 5 Posts 1.470 Views
Wie kann ich msbuild15 bei Appveyor verwenden?

Hi,

ich habe ein PCL Projekt in das neue Net Standard Projekt konvertiert.

Seitdem meckert appveyor:> Fehlermeldung:

SBuild auto-detection: using msbuild version '14.0' from 'C:\Program Files (x86)\MSBuild\14.0\bin'.
C:\projects\prism-extensions\Core\Prism.Validation\Prism.Validation.csproj(1,1): error MSB4041: The default XML namespace of the project must be the MSBuild XML namespace. If the project is authored in the MSBuild 2003 format, please add xmlns="http://schemas.microsoft.com/developer/msbuild/2003" to the <Project> element. If the project has been authored in the old 1.0 or 1.2 format, please convert it to MSBuild 2003 format.

Im Enviroment habe ich von Visual Studio15 auf VS17 umgeschalten. Er verwendet aber weiterhin msbuild14.

Was muss ich tun, dass er beim Buildvorgang msbuild15 verwendet?

Hallo mfe,

kannst du die appveyor.yml und die csproj-Datei zeigen?

Oder als Hilfe zur Selbsthilfe: nimm ein neues .net-Standard Projekt her und lass das mit der appveyor.yml laufen um so zu schauen ob der Fehler im csproj liegt od. in appveyor.

An und für sich kann appveyor schon mit .net Core / .net Standard Projekten umgehen.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

Hi,

die Projektdatei:
https://github.com/mfe-/Prism.Validation/blob/master/Core/Prism.Validation/Prism.Validation.csproj

Die exportierte yml Datei

version: 1.0.{build}
image: Visual Studio 2017
build_script:
- cmd: nuget restore

Hallo mfe,

appveyor schaut sich also die Solution an* und findet dann als erstes Projekt (nach alphabetischer Sortierung im Dateisystem) https://github.com/mfe-/Prism.Validation/blob/master/Core/Prism.Validation.Test/Prism.Validation.Test.UWP/Prism.Validation.Test.UWP.csproj mit


<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

Daher wird auch die MsBuild-Version so festgelegt.

Gib in appveyor.yml das Projekt direkt an. Od. gleich dotnet build ... dann bist du auf der sicheren Seite. dotnet build verwendet dann das korrekte MsBuild intern.

* zur Erklärung:

Zitat von: Build phase | AppVeyor
If project or solution file is not specified on project settings AppVeyor searches for the first occurence of *.sln or *.*proj file in the build clone directory recursively.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

Danke Gü. Deine Tipps haben mir weitergeholfen.