Ich habe gerade eine UWP-Anwendung zur Quellcodeverwaltung hinzugefügt. Allerdings schien mein CI-Server (Jenkins) das nicht zu mögen:
Fehler MSB4019: Das importierte Projekt "C: \ Programme (X 86) \ MSBuild \ Microsoft \ WindowsXaml \ v14.0 \ Microsoft.Windows.UI.Xaml.CSharp.targets " wurde nicht gefunden. Bestätigen Sie, dass der Pfad in der Deklaration ist richtig, und dass die Datei auf der Festplatte vorhanden ist.
Dies ergibt sich aus dem folgenden Import von UWP-Projektdateien:
%Vor%Auf meinem lokalen Computer kann ich diese Datei sehen unter:
%Vor% Dies liegt natürlich an meiner lokalen Installation von Visual Studio 2017. Auf dem CI-Server ist jedoch Visual Studio nicht installiert. Ich stelle mir vor, das ist der Grund, warum MSBuildExtensionsPath
stattdessen auf den im Fehler angegebenen Pfad auflöst.
Die folgenden Elemente sind bereits auf dem CI-Server installiert:
Ich nahm an, dass diese die notwendigen Abhängigkeiten beinhalten würden, aber ich kann Microsoft.Windows.UI.Xaml.CSharp.targets
nirgends finden.
Kopieren Sie das Verzeichnis auf meinem lokalen Rechner
%Vor%zum CI-Server unter
%Vor%scheint den Fehler zu beheben, aber es fühlt sich sehr hacky an.
Gibt es eine Möglichkeit, dies zu lösen, ohne Visual Studio 2017 auf dem CI-Server zu installieren oder Dateien manuell zu kopieren / umzubenennen?
Dies ist immer noch ein Problem mit der neuesten Version von VSBT. Das einzige, was zu melden ist, ist der Fehler von v14 zu v15 geändert. Nach dem Kopieren des gleichen Verzeichnisses auf v15 ist der Fehler wieder verschwunden. Es taucht jedoch ein weiterer scheinbar nicht zusammenhängender Fehler auf:
C: \ Programme (x86) \ Microsoft Visual Studio \ 2017 \ BuildTools \ MSBuild \ 15.0 \ Bin \ Microsoft.Common.CurrentVersion.targets (1124,5): Fehler MSB3644: Die Referenz Assemblies für Framework ".NETCore, Version = v5.0" wurde nicht gefunden. Um dies zu beheben, installieren Sie die SDK oder Targeting Pack für diese Framework-Version oder retarget Ihr Anwendung auf eine Version des Frameworks, für das Sie das SDK haben oder Targeting Pack installiert. Beachten Sie, dass Assemblys aufgelöst werden aus dem Global Assembly Cache (GAC) und wird anstelle von verwendet Referenzbaugruppen. Daher ist Ihre Assembly möglicherweise nicht korrekt Ziel für den Rahmen, den Sie beabsichtigen.
.NETCore,Version=v5.0
Fehler behoben durch Kopieren des folgenden Verzeichnisses von meinem lokalen Rechner auf den Build Server:
Während der UWP-Build erfolgreich ist, wird kein appxbundle generiert. Dies scheint darauf hinzuweisen, dass in VSBT eine weitere Abhängigkeit fehlt.
Tags und Links msbuild continuous-integration uwp