Frage

Ich füge in einem Seitenlayout einen Webpart direkt in eine Zonetemplate hinzu.

Wenn ich ein benutzerdefiniertes Webpart mit einer Webpart -Eigenschaft vom Typ Uint einfügt, erhalte ich einen YSOD -Serverfehler:

Parser -Fehlerbeschreibung: Bei der Analyse einer Ressource, die für die Dienstleistung dieser Anfrage erforderlich ist, ist ein Fehler aufgetreten. Bitte überprüfen Sie die folgenden spezifischen Analysefehlerdetails und ändern Sie Ihre Quelldatei entsprechend. Parser-Fehlermeldung: Die Eigenschaft "Hits" hat Typ "System.Uint32", das nicht CLS-konform ist.

Was wäre der einfachste Weg, um diesen Fehler zu mildern?

Ich könnte den Datentyp in INT ändern, aber das würde bedeuten, dass eine Vielzahl von Code- und Web -Teil -XML -Dateien geändert wird und Fehlerbehandlungen und Testfälle entsprechend geändert werden. Da das Projekt riesig ist, wäre eine Problemumgehung im Seitenlayout vorzuziehen ...

War es hilfreich?

Lösung

Ich habe den Fehler repliziert, da ich auch UINT32 verwendet habe. Ich habe sie nie mit SPD zu einer Zonenvorlage hinzugefügt, sondern verwendet stattdessen die Webschnittstelle - was jedoch gut funktioniert.

Wenn Sie den Fehlerstapel überprüfen und dann Refrector verwenden, wird ein Scheck (PropertyMapper.ISTYPECLSCompliant) durchgeführt, dass die Eigenschaft nicht von uint32 (und einigen anderen) ist. Ich vermute also, dass es keine Problemumgehung gibt.

Problemumgehung besteht darin, einen CLS -konformen Typ zu verwenden. Für uint32 würde ein INT64 am besten funktionieren und wird Ihre Lösung wahrscheinlich nicht so sehr beeinflussen.

Viel Glück, Junge!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top