CLSCompliance SARSER Ошибка при добавлении веб -части в WebPartzone Zonetemplate
-
16-10-2019 - |
Вопрос
Я добавляю веб -часть непосредственно в ZoneTemplate в макете страницы.
Когда я вставляю пользовательскую веб -часть с свойством веб -части типа Uint, я получаю ошибку сервера YSOD:
Описание ошибки анализатора: Произошла ошибка во время анализа ресурса, необходимого для обслуживания этого запроса. Пожалуйста, просмотрите следующие конкретные данные об ошибке Parse и соответствующим образом измените свой исходный файл. Сообщение об ошибке анализатора: свойство «Hits» Type Type "System.uint32", которое не соответствует CLS.
Как бы проще всего смягчить эту ошибку?
Я мог бы изменить тип данных на Int, но это означало бы изменение множества кодов и веб -части XML -файлов, а также изменение обработки ошибок и тестовых случаев соответственно. Поскольку проект огромный, обходной путь в макете страницы был бы предпочтительным ...
Решение
Я повторил ошибку, так как я также использовал Uint32. Я никогда не добавлял их, используя SPD в шаблон зоны, но вместо этого использовал веб -интерфейс, который работает нормально.
Если вы проверите стек ошибок, а затем используете отражатель, он сделает проверку (свойства mapper.istypeclscompliant), что свойство не имеет UINT32 (и некоторые другие), так что, я думаю, что обходного пути нет.
Обходной путь - это использование типа CLS, соответствующего; Для Uint32 Int64 будет работать лучше всего и, вероятно, не сильно повлияет на ваше решение.
Удачи, приятель!