Non è possibile abilitare la funzione di ricevitore funzione tramite PowerShell
-
03-10-2019 - |
Domanda
Ho un problema in cui posso abilitare una funzione l'interfaccia utente e tutto funziona come previsto attraverso le impostazioni del sito, ma se provo e abilitare la funzione tramite lo Sharepoint PowerShell (che stiamo facendo come parte di una distribuzione script) , ottengo il seguente:
Enable-SPFeature: Impossibile creare oggetto ricevitore dall'assemblaggio "xxxxx, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = 967e6960f5af91e6", classe "xxxxx.EventReceiver" per caratteristica "xxxxx.Public.Search" (ID: 026d7c45-a359-4550-822d-1a6c35e58e0 d) .: System.ArgumentNullException: Il valore non può essere null. Nome del parametro: Tipo
Qualcuno sa perché questo si sarebbe verificato, o alcune cose che dovrei controllare? La definizione caratteristica è sicuramente corretto (in quanto la distribuzione attraverso le opere di interfaccia utente come previsto, e ho anche controllato due volte il PublicKeyToken è corretto etc etc), e riavviare i servizi e iisreset non mi permettono di utilizzare Enable-SPFeature sia.
Soluzione
Ho lo stesso problema. La cosa curiosa è quando si apre una nuova finestra SP2010 PowerShell ed eseguire nuovamente lo stesso comando l'assemblaggio viene trovato senza problemi. Vedere: http://khurramdotnet.blogspot.com/2011/01/enable-spfeature-command- throwing.html
Altri suggerimenti
Prova questo: andare al Pannello di controllo, fate clic su "Programmi", cliccare su "Programmi e funzionalità", selezionare "Microsoft SharePoint Server 2010" (o quello che avete installato), fai clic su "Modifica", selezionare "riparazione" e fai clic su "Continua". Questo è ciò che mi ha aiutato.
Prova questo: http: // geoffwebbercross .blogspot.ca / 2011/06 / failed-to-create-ricevitore-oggetto-from.html Ha funzionato per me, non ho dovuto cambiare un punto nel mio codice / soluzione
ho avuto ieri, risulta il nome della funzione e il ricevitore funzione nome Werent corrispondenza. Per risolverlo Ho copiato il codice FeatureActivated nel blocchetto per appunti (intero blocco di codice) o qualsiasi eventi è che avete codificato.
- Copia l'intero codice caso in cui si hanno scritto Vale a dire il Metodo FeatureActivated (compresi firma)
- Rimuovere l'EventReceiver dal progetto.
- Aggiungi un nuovo evento ha ricevuto per il progetto (si può controlla il doppio nome per modifiche)
- Incollare il codice evento nuovo nel evento ricevitore.
Io uso il seguente codice per implementare utilizzando PowerShell
if(($Solution -ne $null) -and ($Solution.ContainsWebApplicationResource))
{
if ($FeatureScope -eq "Web")
{
Install-SPSolution $SolutionName -url $siteUrl -GACDeployment -Confirm:$false
}
else
{
Install-SPSolution $SolutionName -AllWebApplications -GACDeployment -Confirm:$false
}
}
else
{
Install-SPSolution $SolutionName -GACDeployment -Confirm:$false
}
while($Solution.Deployed-eq$false)
{
Start-Sleep 2
Write-Host "." -NoNewline
}
Non utilizzare il "normale" PowerShell, utilizzare la shell di gestione SharePoint 2010, invece.