Sto lavorando ormai da un pò in WPF utilizzando tutte le varie beta di VS2005. Ultimamente però ho dovuto portare alcuni progetti che avevo in 2008 su 2005 per poi rilasciarli a dei clienti esterni che non hanno a disposizione 2008 e, giustamente, non vogliono utilizzare Beta. Purtroppo, ho riscontrato problemi, nel senso che tutte i progetti che "passavo" da un ambiente all'altro mi davano dei warning strani in presenza di UserControl.

In particolare, il warning che mi dava era qualcosa del tipo "Warning 1 The element 'Grid' in namespace 'http://schemas.microsoft.com/winfx/2006/xaml/presentation' has invalid child element 'UserControl1'". Praticamente mi diceva che le grid, gli stackpanel, qualsiasi cosa all'interno del mio XAML non poteva avere UserControl come figli....

Visto che non posso predicare bene e razzolare male, ho perso un bel pò di tempo a cercare di capire prima che cosa ci fosse di diverso tra i due XAML (quello su 2005 e quello su 2008)  casomai qualcosa li avesse cambiati senza dirmelo. Una volta costatato che erano identici, ho cercato di capire che cosa si fosse fumato il mio VS2005 per darmi quell'errore.

Cerca che ti ricerca, è venuto fuori che è un problema noto: le estensioni WPF per Visual Studio 2005 utilizzano uno schema fisso per la validazione dello XAML, che non può giustamente tenere conto degli UserControl. In VS2008 invece questo è già stato Fixato, e per validare lo XAML vengono utilizzati i metadati esposti dal controllo attuale.

Quindi... fate sempre occhio ai warning, ma quando sono un problema noto dell'ambiente beh.. ignorateli :D