Sto distribuendo un numero di progetti .Net su server diversi. Per fare questo il mio team sta usando TFS per costruire, quindi dal modello di build chiama uno script ps1 che utilizza msdeploy per inviare a tutti i diversi server. È tutto molto intraprendente e no, non sono libero di passare a qualcosa di diverso al momento. Questo processo ha funzionato per mesi senza problemi.MSDeploy che genera un errore strano: i dati di flusso di xxxxx.dll non sono ancora disponibili
Oggi la distribuzione è fallita alcune volte di seguito con alcuni errori diversi. Questo solo mi confonde (e potrebbe non essere rilevante) ma ora quello che sto ottenendo in modo coerente è questo:
Si è verificato un errore quando la richiesta è stata elaborata sul computer remoto. I dati di flusso di "C: \ Builds \ SomeDirectory \ obj \ Debug \ Package \ PackageTmp \ AReferencedProject.dll" non sono ancora disponibili.
Questo errore si verifica quando il mio script esegue msdeploy. La dll è utilizzata da un servizio di Windows ma il servizio è interrotto (per quanto posso dire - il servizio non ha generato alcun errore) e la dll non è "sola lettura". La DLL esiste sul computer che sta costruendo/distribuendo e sul computer su cui viene distribuito.
Ho scoperto che posso evitare questo errore se elimino la dll che "non è disponibile" dal server a cui sto distribuendo, ma il problema torna immediatamente su ogni distribuzione successiva a meno che non elimini manualmente questa dll prima di ogni distribuzione .
Ho visto this problem ma non sto spingendo su Azure, solo su Windows Server 2008. Qualcuno sa perché Microsoft Web Deploy (msdeploy) genera questo errore?
Vorrei avere di nuovo questo problema in modo da poter testare queste soluzioni proposte :( – Mario
Ha ancora la sua brutta testa di nuovo, ma io ho provato a riciclare tutti i pool di app, a riavviare IIS e persino a riavviare sia il build che i server Web. Nessuno di questi mi ha aiutato – Mario
OK: questo risolve il problema Il mio problema specifico era che la DLL era bloccata, proprio come il tuo problema. la distribuzione che ho ereditato è stata l'implementazione di siti e servizi Web. I servizi venivano implementati in una sorta di modo hacker con msdeploy e ho trovato, osservando il log di costruzione, che si trattava di un servizio che stava avendo il problema. il servizio ho scoperto che era bloccato, quindi l'ho ucciso e riavviato - praticamente la stessa cosa del riavvio del pool di app per un sito – Mario