5

UI の機能を有効にできるという問題があり、すべてがサイト設定を通じて期待どおりに機能しますが、Sharepoint PowerShell (スクリプトによる展開の一部として行っている) を介して機能を有効にしようとすると、次のようになります。以下:

Enable-SPFeature : アセンブリ "xxxxx、Version=1.0.0.0、Culture=neutral、PublicKeyToken=967e6960f5af91e6"、機能 "xxxxx.Public.Search" のクラス "xxxxx.EventReceiver" (ID: 026d7c45-a359) からレシーバー オブジェクトを作成できませんでした-4550-822d-1a6c35e58e0 d).: System.ArgumentNullException: 値を null にすることはできません。パラメータ名: タイプ

なぜこれが発生するのか、または確認すべきことを誰かが知っていますか? 機能定義は間違いなく正しいです (UI を介して展開すると期待どおりに機能し、PublicKeyToken が正しいことなども再確認したため)、サービスを再起動して iisreset を使用しても Enable-SPFeature を使用できません。

4

5 に答える 5

8

同じ問題があります。興味深いのは、新しい SP2010 PowerShell ウィンドウを開いて同じコマンドを再発行すると、アセンブリが問題なく検出されることです。参照: http://khurramdotnet.blogspot.com/2011/01/enable-spfeature-command-throwing.html

于 2011-05-06T09:21:46.670 に答える
1

これを試してみてください: コントロール パネルに移動し、[プログラム] をクリックし、[プログラムと機能] をクリックし、[Microsoft SharePoint Server 2010] (またはインストールしたもの) を選択し、[変更] をクリックし、[修復] を選択して [継続する"。これが私を助けたものです。

于 2010-11-07T23:24:28.337 に答える
0

「通常の」PowerShellを使用せず、代わりにSharePoint2010管理シェルを使用してください。

于 2011-03-09T09:30:39.070 に答える
0

昨日これを持っていたのですが、機能名と機能レシーバー名が一致していないことがわかりました。それを解決するために、FeatureActivated コードをメモ帳 (コード ブロック全体) またはコーディングしたイベントにコピーしました。

  1. 記述したイベント コード全体、つまり FeatureActivated メソッド (署名を含む) をコピーします。
  2. プロジェクトから EventReceiver を削除します。
  3. 受信した新しいイベントをプロジェクトに追加します (名前の変更を再確認できます)。
  4. イベント コードをイベント レシーバーに貼り付けます。

次のコードを使用して、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
    }
于 2010-09-16T10:50:15.480 に答える