문제

I've got a problem where I can enable a feature the UI and everything works as expected through site settings, but if I try and enable the feature via the Sharepoint powershell (which we are doing as part of a scripted deployment), I get the following:

Enable-SPFeature : Failed to create receiver object from assembly "xxxxx, Version=1.0.0.0, Culture=neutral, PublicKeyToken=967e6960f5af91e6 ", class "xxxxx.EventReceiver" for feature "xxxxx.Public.Search" (ID: 026d7c45-a359-4550-822d-1a6c35e58e0 d).: System.ArgumentNullException: Value cannot be null. Parameter name: type

Does anyone know why this would occur, or some things I should check? The feature definition is definitely correct (since deploying it through the UI works as expected, and I've also double checked the PublicKeyToken is correct etc etc), and restarting the services and iisreset doesn't enable me to use Enable-SPFeature either.

도움이 되었습니까?

해결책

I have the same issue. The curious thing is when you open up a new SP2010 powershell window and reissue the same command the assembly is found without any problems. See: http://khurramdotnet.blogspot.com/2011/01/enable-spfeature-command-throwing.html

다른 팁

Try this: go to the Control Panel, click on "Programs", click on "Programs and Features", select "Microsoft SharePoint Server 2010" (or whatever you have installed), click "Change", select "Repair" and click "Continue". This is what helped me.

Try this: http://geoffwebbercross.blogspot.ca/2011/06/failed-to-create-receiver-object-from.html It worked for me, I did not have to change a stitch in my code / solution

I had this yesterday, turns out the feature name and the feature receiver name werent matching. To resolve it I copied the FeatureActivated code into notepad (entire code block) or whichever events it is you have coded.

  1. Copy the entire event code that you have written I.e. the FeatureActivated method (including signature)
  2. Remove the EventReceiver from your project.
  3. Add a new event received to your project (you can double check the name for changes)
  4. Paste the Event code back into the event receiver.

I use the following code to deploy using 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
    }

Don't use the "normal" PowerShell, use the SharePoint 2010 Management Shell instead.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top