Почему я получаю сообщение "Ошибка 392 Произошла ошибка на этапе развертывания" Активировать компоненты ": операция недопустима из-за текущего состояния объекта".
Вызывает ли отсутствующий раздел "Модуль" в файле Elements.xml "Ошибка 392 Произошла ошибка на этапе развертывания" Активировать компоненты ": операция недопустима из-за текущего состояния объекта".?
Внезапно я получаю эту ошибку при попытке перестроить веб-часть Sharepoint. Одна вещь, которую я исследовал, указывает на то, что, возможно, у Elements.xml есть проблема. Я давно ничего не изменил в этом, и я ничего не изменил явно, я не думаю, но здесь все так, как сейчас:
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Receivers ListTemplateId="104">
<Receiver>
<Name>PostTravelItemEventReceiverItemAdded</Name>
<Type>ItemAdded</Type>
<Assembly>$SharePoint.Project.AssemblyFullName$</Assembly>
<Class>PostTravelWizard.PostTravelItemEventReceiver.PostTravelItemEventReceiver</Class>
<SequenceNumber>10000</SequenceNumber>
</Receiver>
<Receiver>
<Name>PostTravelItemEventReceiverContextEvent</Name>
<Type>ContextEvent</Type>
<Assembly>$SharePoint.Project.AssemblyFullName$</Assembly>
<Class>PostTravelWizard.PostTravelItemEventReceiver.PostTravelItemEventReceiver</Class>
<SequenceNumber>10000</SequenceNumber>
</Receiver>
</Receivers>
</Elements>
Итак, все, что у него есть сейчас, - это ссылка на два обработчика "Event Receiver", которые я добавил; Я сравнил файл Elements.xml этого неработающего проекта с другими имеющимися у меня файлами Elements.xml (из веб-частей, которые работают); один из них выглядит так:
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/" >
<Module Name="TravelFormHelpWebPart" List="113" Url="_catalogs/wp">
<File Path="TravelFormHelpWebPart\TravelFormHelpWebPart.webpart" Url="TravelFormHelpWebPart.webpart" Type="GhostableInLibrary" >
<Property Name="Group" Value="Financial Affairs Forms" />
</File>
</Module>
</Elements>
... а другой очень похож, вот так:
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/" >
<Module Name="DPSVisualWebPart" List="113" Url="_catalogs/wp">
<File Path="DPSVisualWebPart\DPSVisualWebPart.webpart" Url="DPSVisualWebPart.webpart" Type="GhostableInLibrary" >
<Property Name="Group" Value="Financial Affairs Forms" />
</File>
</Module>
</Elements>
Разница, по-видимому, заключается в том, что у работающих веб-приложений есть раздел "Модуль" в их файле Elements.xml.
Была также еще одна подсказка по ссылке выше:
Если шаг 2 не устранил вашу ошибку, проверьте, не установлена ли ваша цель развертывания "WebApplication". Вместо этого необходимо установить значение "Global AssemblyCache".
... и здесь, так или иначе, этот нерабочий WebPart был установлен на "WebApplication", тогда как другие установлены на "GAC"). Однако это не помогло - я все еще получаю ту же ошибку, о которой сообщалось выше.
Таким образом, если проблема заключается в отсутствующем разделе "Модуль", то, по-видимому, он был там раньше (когда он работал) и каким-то образом получил 86-й (что, по-видимому, изменило свойство проекта "Место развертывания сборки"). Почему бы / как это могло случиться?
1 ответ
Добавление (обратно, видимо) раздела Module сделало свое дело.
В частности, я добавил следующее над разделом "Приемники":
<Module Name="PostTravelWizardWebPart" List="113" Url="_catalogs/wp">
<File Path="PostTravelWizardWebPart\PostTravelWizardWebPart.webpart" Url="PostTravelWizardWebPart.webpart" Type="GhostableInLibrary" >
<Property Name="Group" Value="Financial Affairs Forms" />
</File>
</Module>
... и теперь успешно разворачивается.
(Обратите внимание, что я также изменил (опять-таки назад, по-видимому,) значение свойства "Цель развертывания сборки" на "GlobalAssemblyCache" с "WebApplication"