Невозможно включить функцию с помощью функционального приемника через PowerShell

StackOverflow https://stackoverflow.com/questions/3723418

Вопрос

У меня есть проблема, где я могу включить функцию UI, и все работает, как и ожидалось с помощью настроек сайта, но если я попытаюсь, включить функцию через SharePoint PowerShell (что мы делаем как часть развертывания сценариев), я получаю последующий:

Включить-SPFEATURE: Не удалось создать объект приемника из сборки «XXXXX, версия = 1.0.0.0, Culture = Neutral, PubjaneyToken = 967E6960F5AF91E6», класс "xxxxx.eventreceiver" для функции "xxxxxx.public.search" (ID: 026D7C45-A359 -4550-822D-1A6C35E58E0 d).: System.argumentNullexception: значение не может быть нулевым. Название параметра: введите

Кто-нибудь знает, почему это произойдет, или некоторые вещи, которые я должен проверить? Определение функции определенно верно (поскольку развертывание его через пользовательские работы, как и ожидалось, и я также дважды проверил PublicKeyToken, является правильным и т. Д.), И перезапустить услуги и IISRESET не позволяют использовать Enable-Spffeature.

Это было полезно?

Решение

У меня такая же проблема. Любопытная вещь - это когда вы открываете новый окно PowerShell PowerShell SP2010 и переиздайте одну и ту же команду, монтажу можно найти без каких-либо проблем. Видеть:http://khurramdotnet.blogspot.com/2011/01/enable-spfeature-command-throwing.html.

Другие советы

Попробуйте: перейдите на панель управления, нажмите «Программы», нажмите «Программы и функции», выберите «Microsoft SharePoint Server 2010» (или что вы установили), нажмите «Изменить», выберите «Ремонт» и нажмите «Изменить». Продолжать". Это то, что мне помогло.

Попробуй это: http://geoffwebbercross.blogspot.ca/2011/06/failed-to-create-receiver-object-from.html.Это сработало для меня, мне не нужно было менять строчку в моем коде / решении

У меня был этот вчера, оказывается название функции и имена функционального ресивера WERENT сопоставление. Чтобы решить его, я скопировал код FeutureActived в Notepad (весь код код) или какие бы события это вы закодировали.

  1. Скопируйте весь код события, который вы написали, т.е. метод FeutureActived (включая подпись)
  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
    }

Не используйте «нормальный» PowerShell, вместо этого используйте оболочку управления SharePoint 2010.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top