Reputation: 10227
Does a missing "Module" section in the Elements.xml file cause "Error 392 Error occurred in deployment step 'Activate Features': Operation is not valid due to the current state of the object."?
All of a sudden, I get that error when trying to rebuild a Sharepoint Web Part. One thing I researched indicates that perhaps Elements.xml has a problem. I haven't changed anythying in this in a long while, nor have I changed anything explicitly, I don't think, but here it is as it now stands:
<?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>
So all it has right now is a reference to the two "Event Receiver" handlers I added; I compared this non-working project's Elements.xml file with other Elements.xml files I have (from Web Parts that do work); one of them looks like this:
<?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>
...and the other one is very similar, like so:
<?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>
The difference seems to be that the working Web Apps have a "Module" section in their Elements.xml file
There was one other clue, too, from the link above, to wit:
If step 2 didn't resolve your error, check if your deployment target is set to "WebApplication". It needs to be set to "Global AssemblyCache" instead.
...and here, too, somehow, this non-working WebPart was set to "WebApplication," whereas the others are set to "GAC"). Changing that didn't help, though - I still get the same err msg as reported above.
So if the missing "Module" section is the problem, that was apparently there earlier (when it was working) and somehow got 86'd (along with the changing of the project's "Assembly Deployment Target" property, apparently). Why would/how could that happen?
Upvotes: 0
Views: 1141
Reputation: 10227
Adding (back, apparently) the Module section did the trick.
Specifically, I added the following above the "Receivers" section:
<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>
...and it now deploys successfully.
(Note that I also changed (again, back, apparently) the value of the project's "Assembly Deployment Target" property to "GlobalAssemblyCache" from "WebApplication"
Upvotes: 0