clscomplianceパーサーエラーwebpartzone zonetemplateにWebパーツを追加するとき
-
16-10-2019 - |
質問
ページレイアウトでZoneTemplateに直接Webパーツを追加しています。
タイプUINTのWebパーツプロパティを備えたカスタムWebパーツを挿入すると、YSODサーバーエラーが表示されます。
パーサーエラーの説明:このリクエストのサービスに必要なリソースの解析中にエラーが発生しました。次の特定の解析エラーの詳細を確認し、ソースファイルを適切に変更してください。パーサーエラーメッセージ:has ingy "system.uint32"の「ヒット」プロパティ。これはCLSに準拠していません。
このエラーを軽減する最も簡単な方法は何ですか?
データ型をINTに変更できますが、それはコードとWebパートのXMLファイルの多くを変更し、それに応じてエラー処理とテストケースを変更することを意味します。プロジェクトは巨大であるため、ページレイアウトの回避策が望ましいでしょう...
解決
UINT32も使用しているため、エラーを再現しました。 SPDをゾーンテンプレートに使用して追加したことはありませんが、代わりにWebインターフェイスを使用しましたが、これは正常に動作します。
エラースタックをチェックしてからReflectorを使用すると、プロパティがUINT32(および他の一部)ではないことをチェック(propertyMapper.IstypeclsCompliant)にします。そのため、回避策はないと思います。
回避策は、CLS準拠のタイプを使用することです。 UINT32の場合、INT64は最適に機能し、おそらくあなたのソリューションにそれほど影響しないでしょう。
幸運の仲間!
所属していません sharepoint.stackexchange