8

Ich erhalte die folgende Meldung, wenn ich ein Build beim Einchecken in Visual Studio Online auslösen. Lokal kompiliert und verteilt es sich gut.Fehler beim Erstellen fehlender Pakete in Visual Studio Online (Version 2015)

packages \ Microsoft.Net.Compilers.1.0.0 \ tools Microsoft.CSharp.Core.targets \ (67, 5)

genauer zu sein, das ist das Problem beschrieben wird. \ A \ 1 \ s \ packages \ Microsoft.Net.Compilers.1.0.0 \ bauen .. \ Tools:

Die "Microsoft.CodeAnalysis.BuildTasks.Csc" Aufgabe nicht von der Baugruppe C geladen werden konnte \ Microsoft.Build.Tasks.CodeAnalysis.dll. Datei- oder Assembly-Datei konnte nicht geladen werden: /// C: \ a \ 1 \ s \ Pakete \ Microsoft.Net.Compilers.1.0.0 \ tools \ Microsoft.Build.Tasks.CodeAnalysis.dll 'oder eine ihrer Abhängigkeiten . Die angegebene Datei wurde vom System nicht gefunden. Bestätigen Sie, dass die Deklaration korrekt ist, dass die Assembly und alle zugehörigen Abhängigkeiten verfügbar sind und dass die Task eine öffentliche Klasse enthält, die Microsoft.Build.Framework.ITask implementiert.

Also, offensichtlich habe ich einige lokal platzierten Dateien die Kompilation Arbeit vor Ort (das heißt meine Maschine), aber diejenigen, Check-in verwendet werden nicht eingesetzt zu machen. Ich habe keine DLLs oder ähnliches manuell in mein Projekt eingefügt. Alles, was da ist, ist entweder auf Quellcode basiert oder mit dem Paketmanager erhalten.

Das wirft die folgenden Probleme auf.

  1. Ich weiß nicht, was genau Dateien diejenigen sind (Fehlermeldung in Visual Studio Online offenbaren nicht, dass Informationen und ich es vor Ort nicht wiedergeben kann).
  2. Ich bin mir nicht sicher, wie ich alle relevanten Dateien zwangsweise in das Repository pushen soll, damit der Bauagent sie holen kann (meiner Erfahrung nach geschieht das automatisch).

Die Einstellungen im Build-Schritt sind wie folgt.

  • Lösung:. ** \ * sln
  • MsBuild Argumente:/p: DeployOnBuild = true/p: WebPublishMethod = Paket/p: PackageAsSingleFile = true/p: SkipInvalidConfigurations = true/p : PackageLocation = "$ (build.artifactstagingdirectory) \\“
  • Plattform:
  • Konfiguration:
  • Sauber: off
  • NuGet Pakete Restore: geprüft
  • Visual Studio Version: Visual Studio 2015
  • MsBuild Architektur: MSBuild x86
  • Nehmen Projektdetails: geprüft

Antwort

20

Dieses Problem tritt in der Regel, wenn die nuget Pakete geprüft werden, um die Versionskontrolle. Löschen Sie den Paketordner in der Versionskontrolle und stellen Sie sicher, dass die Datei "packages.config" in die Versionskontrolle eingecheckt ist. Stellen Sie dann einen neuen Build ein.

+0

Yupp, das habe ich nach unzähligen Teststunden aus 100 verschiedenen Winkeln gelöst (und einige helfen hier). In der Tat, was ich entdeckt habe ist, dass, wenn man ** das Verzeichnis * packages *** mit all seinen Inhalten eincheckt, es auch funktioniert! Wenn Sie es komplett weglassen und nur ** die Datei * packages.config *** einchecken, funktioniert das auch. (Natürlich, der ** richtige ** Weg ist wahrscheinlich ** nicht ** einchecken überhaupt - die erste Option.) Was passiert ist, dass ich * nupkg * Dateien hinterlegt habe, aber nicht den Rest und das hat es kaputt gemacht! Deshalb schlug mein VS vor, die Datei einzuschließen/auszuschließen ... –

+0

Sie können auch den Paketpfad zur Datei gitignore hinzufügen –

2

Es stellt sich heraus, dass NuGet-Pakete an das Repository übergeben wurden und alles kaputt gemacht haben. Durch das Löschen des Verzeichnisses "project \ project \ packages" aus dem Repo wurden alle Build-Probleme gelöst, da NuGet die Pakete automatisch beim Build abruft.

0

ich letzte Version von Paket aktualisiert und das Problem gelöst

0

Ich habe die Ordner Pakete im Build gelöscht und dass es für mich fixiert.

Verwandte Themen