Выдается исключение Silverlight (ARG_ARGUMENTEXCEPTION), без понятия, почему и где - PullRequest
3 голосов
/ 07 апреля 2011

Так что у меня возникла довольно серьезная проблема с отслеживанием этой проблемы.

Позвольте мне разобраться очень быстро: у меня есть элемент управления Silverlight 4, который отображает информацию в Telerik RadGridViews. В сетках есть некоторые дополнительные функции, но ничего странного. У меня есть 3 панели инструментов, каждая из которых отображается / скрывается с помощью основного элемента управления. Каждый субконтроль содержит одинаковые элементы управления, поэтому они практически одинаковы. Элементы управления сообщают об активности родительскому элементу с помощью пользовательских событий. Каждый раз, когда я переключаю видимость элемента управления, я загружаю данные для этой панели на основе некоторой информации. Данные хранятся в файлах XML на веб-сервере (с использованием http://)) и извлекаются с использованием класса WebClient в .NET. После извлечения файлов они десериализуются в POCO и передаются в сетки, которые связываются с этими коллекциями.

Итак, теперь о проблеме: пару недель назад элемент управления начал просто гаснуть при переходе от первого элемента управления ко второму. По умолчанию Silverlight сообщает об ошибке в DOM. Мы получили "ARG_ARGUMENTEXCEPTION". Однако проблема связана с определенными пользователями, а также с определенными файлами. Однако проверка самих файлов оказалась бесплодной. Я начал выводить больше информации через текстовые поля, но трассировка стека пуста. Я не могу найти, как или почему происходит эта ошибка.

У меня такой вопрос: как мне начать диагностировать эту проблему? Я попытался вывести информацию, но точное место, в котором происходит ошибка, ускользает от меня. Я не могу найти то, что делает один элемент управления сбой с набором файлов, а не с другим набором. Есть идеи?

РЕДАКТИРОВАТЬ: я изменял элемент пользовательского интерфейса, в котором была ошибка. Ошибка генерировалась из XAML, а не из-за кода, поэтому трассировки стека не было. Я в конечном итоге определить ошибку, просто закомментировав код. Спасибо за помощь!

1 Ответ

1 голос
/ 16 мая 2011

Недавно была выпущена бета-версия Silverlight 5, и в моем приложении была та же ошибка, указывающая на ошибку стиля где-то в словаре ресурсов.Другая версия Silverlight вызовет эту ошибку.Убедитесь, что ваши пользователи имеют последнюю версию Silverlight.

99% времени эта ошибка была из-за неправильного стиля в словаре ресурсов xaml, такого как generic.xaml.

У меня была похожая проблема во время сборки, когда против поднял silverlight 3 dlls при добавлении элемента управленияиз панели инструментов в мой пользовательский контроль.Visual Studio не фильтрует библиотеки Silverlight 3 в ссылках добавления для проектов Silverlight 4, что также вызывало ту же ошибку.

В основном это связано с несовместимым отображением типов xaml и clr.Если xaml имеет неправильное значение или неправильный тип значения, то в свойствах ожидается, что эта ошибка будет отображаться, но если нет информации о номере строки, она должна быть в generic.xaml.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...