Invoke-PnPSiteTemplate - A duplicate content type "Item" was found.
Open
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 259
- Forks
- 161
- Avg merge
- 10h 33m
- Merged PRs (30d)
- 1
Description
Category
[ x ] Bug
[ ] Enhancement
Environment
[ x ] SharePoint Online
Description
I get the error below when running the Invoke-PnPSiteTemplate with "Allow management of content types?" enabled on the source list.
- The source list might have been created importing an Excel (not sure if it makes any difference).
- All fields/views are the same in both lists. The only difference between the XML that throw the error and the one that don't is that the bad one has ContentTypesEnabled="true" set on pnp:ListInstance tag.
- When disabling the "Allow management of content types?" on source lists before generating the XML it works.
- It doesn't matter if "Allow management of content types?" is true or false on the destination list.
- It might have something to do with this fix: https://github.com/pnp/pnpframework/blob/0e90d4cface623aee90151f9557faf495d13f325/src/lib/PnP.Framework/Provisioning/ObjectHandlers/ObjectListInstance.cs#L1606-L1607
Error
PS C:\tmp> Invoke-PnPSiteTemplate -Path myList.xml
Invoke-PnPSiteTemplate : A duplicate content type "Item" was found.
At line:1 char:1
+ Invoke-PnPSiteTemplate -Path dev2.xml
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : WriteError: (:) [Invoke-PnPSiteTemplate], ServerException
+ FullyQualifiedErrorId : EXCEPTION,PnP.PowerShell.Commands.Provisioning.Site.InvokeSiteTemplate
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in src/lib/PnP.Framework/Provisioning/ObjectHandlers/ObjectListInstance.cs around lines 1606-1607 and trace how Invoke-PnPSiteTemplate handles a pnp:ListInstance with ContentTypesEnabled="true". Reproduce with the provided XML conditions and verify that provisioning completes without the duplicate content type "Item" error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100