Невозможно включить функцию с помощью функционального приемника через PowerShell
-
03-10-2019 - |
Вопрос
У меня есть проблема, где я могу включить функцию 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 (весь код код) или какие бы события это вы закодировали.
- Скопируйте весь код события, который вы написали, т.е. метод FeutureActived (включая подпись)
- Удалите EventReceiver из вашего проекта.
- Добавьте новое событие, полученное в ваш проект (вы можете дважды проверить имя для изменений)
- Вставьте код события обратно в приемник событий.
Я использую следующий код для развертывания с помощью 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.