2014-04-04 5 views
6

Dieser Fehler wird in meiner Visual Studio 2012-Fehlerliste angezeigt, wenn Azure SDK Version 2.2 verwendet.Wie kann ich in Azure den Fehler "ValidateServiceFiles-Task schlug unerwartet fehlgeschlagen" beheben?

Es bezieht sich auch auf eine Datei:

 Error 5 The "ValidateServiceFiles" task failed unexpectedly. 
System.IO.FileNotFoundException: Could not find file 'C:\Project\Data.Contracts\ServiceConfiguration.Local.cscfg'. 
File name: 'C:\Project\Data.Contracts\ServiceConfiguration.Local.cscfg' 
    at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) 
    at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost) 
    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share) 
    at Microsoft.ServiceHosting.Tools.Internal.Translations.Translate.ServiceConfigurationFromFile(Boolean useInternalSchema, String serviceConfigurationFile, ValidationHandler validationHandler) 
    at Microsoft.ServiceHosting.Tools.MSBuildTasks.ValidateServiceFiles.Execute() 
    at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() 
    at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__20.MoveNext() C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Windows Azure Tools\2.2\Microsoft.WindowsAzure.targets 669 5 Azure. 

Die Datei existiert auf jeden Fall und hat die richtigen Attribute. Die seltsame Sache ist, dass die Datei nicht in dem Pfad angegeben ist, sondern in einem anderen Pfad. Es ist, als ob der ValidateServiceFiles-Prozess verwirrt ist und nach der Datei im falschen Ordner sucht.

Das erneute Laden des Azure-Worker-Rollenprojekts und der Cloud-Projekte hilft nicht, auch nicht das Neustarten des Computers. Manchmal können Fortschritte erzielt werden, indem jedes Cloud-Projekt manuell in der Lösung erstellt wird. Aber der Fehler kehrt immer zurück, manchmal nachdem er aus der Quellcodeverwaltung stammt, obwohl er im Wesentlichen zufällig ist.

Ein detailliertes Buildprotokoll zeigt dies:

58>C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Windows Azure Tools\2.2\Microsoft.WindowsAzure.targets(3259,5): warning MSB3026: Could not copy "ServiceConfiguration.Local.cscfg" to "bin\Debug\ServiceConfiguration.cscfg". Beginning retry 2 in 1000ms. Could not find file 'ServiceConfiguration.Local.cscfg'. 

Aber das hilft nicht. Die Datei befindet sich an der richtigen Position im Projekt (nicht in dem Pfad, der in der Fehlermeldung angegeben wird)

Es gibt wenig Hilfe im Internet über das Debuggen des ValidateServiceFiles-Prozesses.

Antwort

1

Nach viel Suchen fand ich die Antwort. Ich hatte 3 Verweise, um Profildateien zu veröffentlichen, die physisch nicht vorhanden waren, wie das blaue Fragezeichen zeigt.

enter image description here

+1

Wenn Sie keine Profile veröffentlichen haben, können Sie auch das Cloud-Projekt klicken Sie nach rechts, klicken Sie hier veröffentlichen, zu Azure anmelden, ein Azure-Abonnement auswählen, die konsistenten Cloud-Speicher und Speicherkonto hat. Brechen Sie dann die Veröffentlichung ab und erstellen Sie das Cloud-Projekt neu. –

+0

Und wenn Sie dies tun, mag ein Verweis auf eine fehlende Veröffentlichungsdatei magisch erscheinen. –

+0

Wenn dies nur für Sie fehlschlägt, bearbeiten Sie die Datei .ccproj.user des Projekts. Dort sehen Sie möglicherweise ein Tag ActivePublishProfile, das auf eine fehlende Datei verweist. –

3

Die willkürliche Art dieses Problems ist, denn wenn jemand einen Cloud-Dienst auf dem Azure-Portal löscht, wird der Build auf dem lokalen Computer nicht funktionieren. Dies liegt daran, dass die ValidateServiceFiles-Funktion überprüft, dass Ihre Veröffentlichungsprofildateien Verweise auf vorhandene Cloud-Dienste im Azure-Portal enthalten.

Aber die Fehlermeldung erwähnt nicht, welches Projekt das Problem hat, sie alle nur aufzulisten.

Klicken Sie also mit der rechten Maustaste auf jedes Cloud-Projekt, klicken Sie dann auf Veröffentlichen, und prüfen Sie, ob Sie keine roten Kreuze erhalten.

enter image description here

Verwandte Themen