Ich mache meine Build-Pipeline für Dotnet-Core-Projekt. Ein Teil meines Build-Skripts führt dotnet restore
aus. Ich mache es so:Dotnet Restore MyProj.csproj thows "Der Dateityp wird nicht erkannt" auf VSTS
dotnet restore C:/Projects/MyProj/src/MyProj/MyProj.csproj
Und es stellt lokal ohne ein Problem wieder her. Wenn ich das gleiche Skript VSTS bauen Server schieben, in Protokollen sehe ich die Ausführung wie folgt aus:
dotnet restore D:/a/1/s/src/MyProj/MyProj.csproj
aber dann bekomme ich Fehler:
error: Invalid input 'D:/a/1/s/src/MyProj/MyProj.csproj'. The file type was not recognized.
Was mache ich falsch? Warum funktioniert es lokal und nicht auf VSTS?
Ich verwende die gleiche Version von dotnet.exe lokal wie auf VSTS:
Version : 1.1.0
Build : 928f77c4bc3f49d892459992fb6e1d5542cb5e86
ich eine global.json
Datei außerhalb von src
Ordner sitzen haben:
{
"projects": ["src"],
"sdk": {
"version": "1.1.0"
},
"packages": "packages"
}
Ordnerstruktur folgende:
Lösung ist in VS2017 erstellt, so ist dies lat est csproj Dateiformat.
Was sollte ich noch überprüfen?
Ich würde mir vorstellen, dass diese Sache bereits auf dem Build-Agent installiert wäre ... aber lass mich es versuchen – trailmax
Ja, ich hätte feststellen müssen, dass installierte SDK ist nicht das gleiche wie, was ich kompiliere. Sobald ich SDK installiert habe, habe ich Ergebnisse bekommen. Vielen Dank! – trailmax
Ich denke, das ist richtig, aber als jemand neu in VSTS, war ich nicht sicher, was zu tun ist. Diese Antwort hat geholfen: https://stackoverflow.com/a/42969311/345179 – Alex