Domanda

Io sono l'aggiunta di una parte web direttamente in uno ZoneTemplate in un layout di pagina.

Quando inserisco una web part personalizzata che ha una proprietà parte web di tipo uint, ottengo un errore del server YSOD:

Parser errore Descrizione: Errore Si è verificato un durante l'analisi di un risorsa necessaria per soddisfare questa richiesta. Si prega di rivedere la seguente specifici dettagli errore di analisi e modificare il file di origine appropriatamente. Messaggio Parser errore: Il "Hits" di proprietà del tipo è "System.UInt32", che non è compatibile con CLS

.

Quale sarebbe il modo più semplice per ovviare a questo errore?

ho potuto cambiare il tipo di dati int, ma questo significherebbe cambiare un sacco di file xml codice e web part e cambiando la gestione degli errori e casi di test di conseguenza. Poiché il progetto è enorme, una soluzione nel layout di pagina sarebbe preferibile ...

È stato utile?

Soluzione

I replicato l'errore, dal momento che ho anche usato UInt32 di. Non li ho mai aggiunti utilizzando SPD a un modello di zona, ma invece usato l'interfaccia web -. Che funziona bene anche se

Se si seleziona la stack errori e quindi utilizzare Reflector fa un controllo (PropertyMapper.IsTypeClsCompliant) che la proprietà non è di UInt32 (e alcuni altri), quindi la mia ipotesi è che ci sono alcuna soluzione.

Per risolvere il problema è quello di utilizzare un tipo di CLS compliant; per UInt32 un Int64 avrebbe funzionato meglio e probabilmente non influenzare la soluzione che più di tanto.

Buona fortuna mate!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top