Sharepoint 2010 “为什么我会这样?”;错误392部署步骤中发生错误';激活功能';:由于对象的当前状态,操作无效。”;
Elements.xml文件中缺少的“Module”部分是否会导致“部署步骤“激活功能”中发生错误392:由于对象的当前状态,操作无效。” 在尝试重建Sharepoint Web部件时,突然出现了这个错误。表示Elements.xml可能有问题。很长一段时间以来,我没有改变任何事情,也没有明确地改变任何事情,我不认为,但现在是这样:Sharepoint 2010 “为什么我会这样?”;错误392部署步骤中发生错误';激活功能';:由于对象的当前状态,操作无效。”;,sharepoint-2010,deployment-target,Sharepoint 2010,Deployment Target,Elements.xml文件中缺少的“Module”部分是否会导致“部署步骤“激活功能”中发生错误392:由于对象的当前状态,操作无效。” 在尝试重建Sharepoint Web部件时,突然出现了这个错误。表示Elements.xml可能有问题。很长一段时间以来,我没有改变任何事情,也没有明确地改变任何事情,我不认为,但现在是这样: <?xml version="1.0" encoding="utf-8"?> <Elements xmlns="http://schemas.mi
<?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>
PostTravelItemEventReceiverItemAdded
添加项目
$SharePoint.Project.AssemblyFullName$
PostTravelWizard.PostTravelItemEventReceiver.PostTravelItemEventReceiver
10000
PostTravelItemEventReceiverContextEvent
上下文
$SharePoint.Project.AssemblyFullName$
PostTravelWizard.PostTravelItemEventReceiver.PostTravelItemEventReceiver
10000
所以它现在所拥有的只是对我添加的两个“事件接收器”处理程序的引用;我将这个非工作项目的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文件中有一个“Module”部分
从上面的链接中,还有另外一条线索,即:
如果步骤2没有解决错误,请检查部署目标是否设置为“WebApplication”。它需要改为设置为“全局AssemblyCache”
…在这里,不知何故,这个不工作的Web部件被设置为“WebApplication”,而其他部件被设置为“GAC”)。不过,改变这一点并没有帮助——我仍然得到了与上面报告的相同的错误消息
因此,如果缺少的“模块”部分是问题所在,那显然是在更早的时候(当它工作时),并且以某种方式得到了86分(显然,随着项目的“Assembly Deployment Target”属性的更改)。为什么会/怎么会发生这种情况?添加模块部分(显然是后面的部分)成功了
具体而言,我在“接收者”部分添加了以下内容:
…现在它已成功部署
(请注意,我还将项目的“Assembly Deployment Target”属性的值从“WebApplication”更改为“GlobalAssemblyCache”(显然是再次更改)
<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>