Laden...

Wie kann ich msbuild15 bei Appveyor verwenden?

Erstellt von mfe vor 6 Jahren Letzter Beitrag vor 6 Jahren 1.441 Views
M
mfe Themenstarter:in
177 Beiträge seit 2009
vor 6 Jahren
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?

6.911 Beiträge seit 2009
vor 6 Jahren

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!"

M
mfe Themenstarter:in
177 Beiträge seit 2009
vor 6 Jahren

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
6.911 Beiträge seit 2009
vor 6 Jahren

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!"

M
mfe Themenstarter:in
177 Beiträge seit 2009
vor 6 Jahren

Danke Gü. Deine Tipps haben mir weitergeholfen.