我将Web零件直接添加到页面布局中的Zonetemplate中。

当我插入具有UINT类型的Web Part属性的自定义Web部件时,我会收到YSOD服务器错误:

解析器错误描述:解析服务此请求所需的资源时发生了错误。请查看以下特定解析错误详细信息,并适当修改源文件。解析器错误消息:“命中”的属性“ type” system.uint32”,不符合CLS。

减轻此错误的最简单方法是什么?

我可以将数据类型更改为INT,但这意味着更改大量代码和Web Part XML文件,并相应地更改错误处理和测试案例。由于该项目很大,因此在页面布局中的解决方法是最好的...

有帮助吗?

解决方案

我复制了错误,因为我也使用了UINT32。我从来没有将它们添加到区域模板中,而是使用了Web界面 - 虽然可以正常工作。

如果您检查错误堆栈,然后使用Reflector,则会将检查(propertymapper.istypeclscompliant)进行检查,即该属性不是UINT32(以及其他一些),因此我猜是没有解决方法。

解决方法是使用符合CLS的类型;对于UINT32,INT64最有效,并且可能不会对您的解决方案影响太大。

祝你好运!

许可以下: CC-BY-SA归因
scroll top