0

Elements.xml 文件中缺少“模块”部分是否会导致“部署步骤‘激活功能’中发生错误 392 错误:由于对象的当前状态,操作无效。”?

突然间,我在尝试重建 Sharepoint Web 部件时收到该错误。我研究的一件事表明 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>

所以它现在只有对我添加的两个“事件接收器”处理程序的引用;我将此非工作项目的 Elements.xml 文件与我拥有的其他 Elements.xml 文件(来自有效的 Web 部件)进行了比较;其中一个看起来像这样:

<?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>

不同之处似乎在于正在运行的 Web 应用程序在其 Elements.xml 文件中有一个“模块”部分

从上面的链接中也有另一个线索:

如果第 2 步没有解决您的错误,请检查您的部署目标是否设置为“WebApplication”。它需要设置为“Global AssemblyCache”。

...在这里,不知何故,这个不工作的 WebPart 被设置为“WebApplication”,而其他的被设置为“GAC”)。但是,更改并没有帮助-我仍然得到与上面报告的相同的错误消息。

因此,如果缺少的“模块”部分是问题所在,那显然是更早的(当它工作时)并且不知何故得到了 86 分(显然,随着项目的“组件部署目标”属性的更改)。为什么会/怎么会发生?

4

1 回答 1

0

添加(显然是后退)模块部分起到了作用。

具体来说,我在“接收者”部分上方添加了以下内容:

<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>

...现在它已成功部署。

(请注意,我也将项目的“Assembly Deployment Target”属性的值从“WebApplication”更改为“GlobalAssemblyCache”。

于 2015-10-12T17:55:23.600 回答