Tuesday, April 29, 2014

Custom Content Type Deployment Tip for Visual Studio 2010

Scenario: You add a custom content type to your Visual Studio 2010 project. Because you have been bitten by the lowercase Content Type ID problem before (see here: https://connect.microsoft.com/VisualStudio/feedback/details/709500/visual-studio-2010-sharepoint-project-template-content-type-generated-through-visual-studio-has-id-guid-in-lower-case-causing-custom-actions-to-fail ), you quickly turn the Content Type ID to UPPERCASE using the handing Ctrl+Shift+U shortcut. You are pretty much a shortcut badass. Visual Studio 2010 generates Content Type ID’s lowercase by default.

Visual Studio gives you:
<ContentType ID="0x010059b2dab8444144e68f7f9baaa134dbf0" …
..so then you upper-case it to:
<ContentType ID="0X010059B2DAB8444144E68F7F9BAAA134DBF0" …
…to ‘avoid’ problems.

Problem: When you try to deploy your solution, you get a ‘Value is out of range’ error. No logged info beyond that. Helpful as always.

Solution: See the ‘X’ near the beginning of the Content Type ID? It MUST be lowercase. When upper-casing it, you may accidentally uppercase that character too. This totally explodes whatever parsing is done on that ID when it is read from the schema file.

And then you fix it:
<ContentType ID="0x010059B2DAB8444144E68F7F9BAAA134DBF0" …

No comments:

Post a Comment

© I caught you a delicious bass.
Back to top