Ieri mi è capitata questa cosa, e ve la scrivo perchè è veramente da pazzi..
Ho perso un pomeriggio intero per cercare di capire cosa c'era che non andava su una site definition SharePoint personalizzata che mi sono scritto per iniziare delle prove di migrazione da una intranet realizzata con SharePoint Portal Server 2003 da migrare chiaramente a MOSS 2007.
Inizialmente, quando cercavo di creare un nuovo sito basato sulla mia site definition, questo andava in errore senza dirmi in particolare dove stessi sbagliando. Guardo nel log e mi trovo questa dicitura:

Error in activating site-scoped feature on "http://servername" - Error: Value cannot be null. Parameter name: g

In effetti avevo inserito, all'interno del file onet.xml della mia nuova site definition, alcuni riferimenti a delle feature sviluppate per migrare anche le definizioni di liste. Eppure mi sembrava che fosse tutto scritto bene, anche perchè avevo copiato l'elemento Feature, direttamente dal file feature.xml di ogni feature che volevo aggiungere.
Qunidi, mi ritrovavo all'interno del file onet.xml riferimenti di questo tipo:

<Feature Id="45CB1F1C-A43D-4960-9BE7-F1362A3D3ADF" />

che, come vi dicevo, ho copiato direttamente dal file di definizione della feature stessa:

<?xml version="1.0" encoding="utf-8"?>

<Feature Id="45CB1F1C-A43D-4960-9BE7-F1362A3D3ADF"
Title="bla bla bla"
Description=""
Version="1.0.0.0"
Scope="Web"
Hidden="FALSE"
xmlns="http://schemas.microsoft.com/sharepoint/"
>
<ElementManifests>
<ElementManifest Location="ListTemplates\MioTemplate.xml" />
</ElementManifests>
</Feature>

Quindi non trovavo proprio ragioni valide per cui non dovesse funzionare.
Allo stesso tempo però, se toglievo i riferimenti alle mie fetuare, la site definition funzionava correttamente.

Bene, dopo ore di prove e riprove, sono arrivato all'illumunazione (che è stata seguita da un'incazzatura notevole): l'attributo id dell'elemento Feature è case-sensitive, quindi va scritto TUTTO MAIUSCOLO....

<Feature ID="45CB1F1C-A43D-4960-9BE7-F1362A3D3ADF" />


Incredibile vero ?
Ora, penso proprio che sia case-sensitive tutto il file onet.xml, ma non ho avuto tempo e modo di provarlo.. avrei sicuramente spaccato il pc :D