我遇到了一个问题,我可以通过网站设置启用功能UI,但是如果我尝试通过Sharepoint powershell启用该功能(我们在脚本化部署中执行此功能) ,我得到以下内容:
启用-SP功能:无法创建 汇编“xxxxx的接收器对象, 版本= 1.0.0.0,文化=中立, PublicKeyToken = 967e6960f5af91e6“, class“xxxxx.EventReceiver”for 功能“xxxxx.Public.Search”(ID: 026d7c45-a359-4550-822d-1a6c35e58e0 d):System.ArgumentNullException: 值不能为空。参数名称: 型
有谁知道为什么会这样,或者我应该检查一些事情?功能定义肯定是正确的(因为通过UI部署它按预期工作,我还仔细检查了PublicKeyToken是否正确等等),并重新启动服务和iisreset也不能使我使用Enable-SPFeature。
答案 0 :(得分:8)
我有同样的问题。奇怪的是当你打开一个新的SP2010 powershell窗口并重新发出相同的命令时,发现程序集没有任何问题。看到: http://khurramdotnet.blogspot.com/2011/01/enable-spfeature-command-throwing.html
答案 1 :(得分:1)
试试这个:转到“控制面板”,单击“程序”,单击“程序和功能”,选择“Microsoft SharePoint Server 2010”(或任何已安装的),单击“更改”,选择“修复”然后单击“继续”。这对我有所帮助。
答案 2 :(得分:1)
试试这个:http://geoffwebbercross.blogspot.ca/2011/06/failed-to-create-receiver-object-from.html 它对我有用,我没有必要在我的代码/解决方案中改变一个针脚
答案 3 :(得分:0)
我昨天有这个,结果是功能名称和功能接收者名称不匹配。为了解决这个问题,我将FeatureActivated代码复制到记事本(整个代码块)或者你编码的任何事件。
我使用以下代码使用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
}
答案 4 :(得分:0)
请勿使用“普通”PowerShell,而是使用SharePoint 2010 Management Shell。