2017-11-02 14 views
2

Wir migrieren ein Bibliotheksprojekt unter netstandard2.0 von net461. Einige Bibliotheken unterstützen .NET Standard noch nicht, daher führt die Hostanwendung net461 aus und verweist auf unsere Bibliotheken, die netstandard2.0 verwenden.VSTS schlägt mit Visual Studio Build fehl, wenn net461 auf netstandard2.0 verweist

Dies funktioniert perfekt lokal mit Visual Studio 15.3, wo alles läuft und baut.

Nach dem Microsoft documentation .NET Standard mit SDK 2.0 implementiert 4.6.1, die ich davon ausgehe, warum es lokal funktioniert.

.NET Standard support

Beim Laufen in Visual Studio Online (VSTS) baut nicht mit mehreren Fehlern wie:

Paket Microsoft.AspNetCore.Mvc 2.0.0 ist nicht kompatibel mit net461 (.NETFramework, Version = v4.6.1). Paket Microsoft.AspNetCore.Mvc 2.0.0 unterstützt: netstandard2.0 (.NETStandard, Version = v2.0)

ich lesen, auf Github Diskussionen here und here, die über ähnliche Probleme spricht ist ein Werkzeug Problem und hinzugefügt eine .NET Core Tool Installer Aufgabe zu bauen, die Core 2.0 installiert, aber immer noch ohne Glück.

Was muss ich tun, um Build in VSTS arbeiten zu lassen?

UPDATE:

(geänderter Titel zu Visual Studio Erstellen Sie anstelle von MS Bau)

Gefunden dieses Thema https://github.com/dotnet/standard/issues/454 spricht über die VSTS ein Update benötigen.

Ich laufe VS Enterprise 15.4.1, VSTS Build is running version 15.3.5 today was genug ist nach dem Thema auf GitHub. Dies ist noch verwirrender.

Antwort

1

Eine Problemumgehung gefunden, indem Sie dotnet restore und dotnet build mit Version 2.* (preview) verwenden, die perfekt funktioniert.

Anstatt MS Build oder Visual Studio 2017 Build zu verwenden, ersetzen Sie einfach die Build-Aufgaben durch die folgenden dotnet Aufgaben.

(Wenn Sie keine privaten Feeds haben, brauchen Sie nicht einmal den Befehl dotnet restore, da dotnet build Pakete für Sie wiederherstellen wird).

TL; DR; Verwenden Sie stattdessen:

Working build tasks

Verwandte Themen