Ich bin eine Reihe von. NET-Projekte auf verschiedenen Servern bereitstellen. Um dies zu tun, verwendet mein Team TFS, um zu erstellen, dann von der Build-Vorlage aufrufen ein Skript ps1, die Msdeploy verwendet, um an alle verschiedenen Server zu pushen. Es ist alles sehr unternehmungslustig und nein, ich bin nicht in der Lage, im Moment zu etwas anderem zu wechseln. Dieser Prozess funktioniert seit Monaten ohne Probleme.MSDeploy wirft seltsamen Fehler: Stream-Daten von xxxxx.dll ist noch nicht verfügbar
Heute ist die Bereitstellung einige Male hintereinander mit einigen unterschiedlichen Fehlern fehlgeschlagen. Das allein verwirrt mich (und ist möglicherweise nicht relevant), aber jetzt die, die ich konsequent bekomme, ist dies:
Ein Fehler trat auf, als die Anfrage auf dem Remote-Computer verarbeitet wurde. Die Stream-Daten von "C: \ Builds \ SomeDirectory \ obj \ Debug \ Paket \ PackageTmp \ AReferencedProject.dll" sind noch nicht verfügbar.
Dieser Fehler tritt auf, wenn mein Skript Msdeploy ausführt. Die DLL wird von einem Windows-Dienst verwendet, aber der Dienst wird gestoppt (soweit ich das beurteilen kann - der Dienststopp wirft keine Fehler auf) und die DLL ist nicht "schreibgeschützt". Die DLL existiert auf der Maschine, die erstellt/bereitgestellt wird, sowie auf der Maschine, auf der sie bereitgestellt wird.
Ich habe festgestellt, dass ich diesen Fehler vermeiden kann, wenn ich die DLL, die nicht verfügbar ist, von dem Server lösche, den ich bereitstelle, aber das Problem kommt sofort bei jeder nachfolgenden Bereitstellung zurück, wenn ich diese DLL vor jeder Bereitstellung manuell lösche .
Ich habe gesehen this problem, aber ich dränge nicht zu Azure, nur zu Windows Server 2008. Weiß jemand, warum Microsoft Web Deploy (msdeploy) diesen Fehler werfen würde?
Ich wünschte, ich würde dieses Problem wieder bekommen, so dass ich diese vorgeschlagenen Lösungen testen könnte :( – Mario
Es hat wieder seinen hässlichen Kopf aufgezogen, aber ich Ich habe versucht, alle App-Pools zu rezyklieren, IIS neu zu starten und sogar den Build- und Webserver neu zu starten. Keine davon hat mir geholfen – Mario
OK - das behebt das Problem Mein spezifisches Problem war, dass die DLL gesperrt war, genau wie Ihr Problem Bei der von mir geerbten Implementierung wurden sowohl Websites als auch Dienste bereitgestellt. Die Dienste wurden mithilfe von msdeploy auf eine Art gehackter Weise bereitgestellt, und ich stellte fest, dass es sich bei dem Buildprotokoll um einen Dienst mit diesem Problem handelte der Dienst, den ich gefunden habe, dass es stecken geblieben ist, so habe ich es getötet und neu gestartet - so ziemlich das gleiche wie den App-Pool für eine Site neu starten – Mario