Почему я получаю сообщение "Ошибка 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"

Другие вопросы по тегам