Impossibile caricare il gruppo ricevitore, il servizio mancante riciclo?
-
10-12-2019 - |
Domanda
Sto attivando una funzione utilizzando PowerShell e ogni "una volta in un po '" non riesce con l'errore "Impossibile caricare il gruppo ricevitore". Sembra essere lamentarti perché qualche servizio o applicazione non è in grado di trovare la DLL nel GAC, ma ho controllato ogni volta e la DLL è sempre correttamente implementata sul GAC. Il mio script PowerShell esegue come questo:
- .
- Disinstallare tutti i WSP pertinenti (rimozione dal GAC)
- Riavvio: SPADMINV4, Sptimerv4, SpuserCodev4 e IISRESET
- Installare tutti i WSP pertinenti, incluso quello che dovrebbe essere il bersaglio per il ricevitore dell'evento.
- Riavvio: SPADMINV4, Sptimerv4, SpuserCodev4 e IISRESET
- ACTIAVTE La funzione (Applicazione Web SCOPED)
Ho provato a stimare la sceneggiatura tra il passaggio 3 e 4 e tra il passaggio 4 e 5 per verificare che la DLL sia presente ed è sempre. Ho controllato che il ricevitore XML della funzione è corretto, ma non penso che questo sia il problema in quanto funziona la maggior parte del tempo.
Sono in grado di eseguire la sceneggiatura più volte con successo e improvvisamente fallirà. C'è qualche servizio che devo riciclare in aggiunta a un IISRESET?
Modifica dettagli aggiuntivi:
- .
- Esistono 10 WSPS, uno dei quali contiene una funzionalità ambientabile dell'applicazione Web.
- Non aspetto nessuna quantità di tempo dopo il reset come pensavo che il riciclaggio sia stato completato una volta restituito IISRESET.
- L'errore si verifica quando SharePoint tenta di chiamare il ricevitore di eventi di CapoA attivato personalizzato in uno dei WSPS.
- Stack parziale traccia (abbreviato): System.ArgumentException: impossibile caricare il gruppo ricevitore [Figura firma del gruppo ricevitore] o una delle sue dipendenze. Il sistema non trova il file specificato. System.io.FileNotFoundException: impossibile caricare file o assembly [Full Receiver Assembly Signature]
Modifica: Servizio aggiunto I passaggi di riciclo.
(Non sono in grado di pubblicare il codice esatto perché il sistema è su una rete limitata)
Soluzione 2
Ho risolto il problema.Sembra che non ci sia bisogno di resettare IIS o SPADMINV4 durante la distribuzione.Rimozione di tutti i riferimenti a questo dal mio script PowerShell ha risolto il problema.
Dovrei anche notare che in attesa di 5 secondi dopo aver reimpostato SPADMINV4 prima di attivare la funzione evitava anche l'errore.
Altri suggerimenti
Spesso questo è dovuto a Sptimerv4 in possesso di un riferimento memorizzato nella cache alla soluzione .dll: S
prova fare
net stop SPTimerV4
net start SPTimerV4
.
in PowerShell o CMD quando hai retratto il tuo .wsp prima di reinstallarlo