Исключение адаптера модульного тестирования: ... не помечено как сериализуемое - PullRequest
2 голосов
/ 17 февраля 2010

эта ошибка сводит меня с ума:

Адаптер модульного теста выдал исключение: тип 'com.imagehawk.ZDRCreator.Config.ZDRCreatorConfigException' в сборке 'ZDRCreator, версия = 1.0.5.1, культура = нейтральная, PublicKeyToken = null' не помечена как сериализуемая ..

это исключение, единственное место, где он используется, это как выбросить новое ZDRCreatorConfigException (bla); а потом в блоки catch конечно.

только что начал происходить ... не могу понять, что я изменил. пожалуйста помогите

вот код для исключения, хотя я сомневаюсь, что это помогает.

public class ZDRCreatorConfigException : Exception
    {
        public ZDRCreatorConfigException(string msg) : base(msg)
        {
        }

        public ZDRCreatorConfigException() : base()
        {
        }
    }

ОБНОВЛЕНИЕ: Я понял это, и это не было ошибкой Microsoft в конце концов; хотя клятва, которую я дал им, я уверен, что есть много других вещей, за которые они этого заслуживают. Я внес изменение в код, которое вызывало исключение и его обработку. Не уверен, почему в нем упоминается сериализуемость, если только потому, что здесь не все конструкторы реализованы. Кстати, я наконец смог выяснить, где поставить точку останова, чтобы найти проблему. Спасибо!

Ответы [ 3 ]

1 голос
/ 17 февраля 2010

Я не уверен, что у вас есть доступ к исходному коду, но вы пытались добавить атрибут Serializable, как он предлагает?

[Serializable]
public class ZDRCreatorConfigException : Exception
{
    ...
}

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

Кроме того, вы должны попытаться выяснить, почему выбрасывается это исключение, так как я предполагаю, что оно не предназначено длябывает.Если вы тестируете в режиме отладки, вы можете настроить Visual Studio на автоматический разрыв при возникновении этого исключения, чтобы вы могли видеть, что происходит.

0 голосов
/ 15 декабря 2016

Для дальнейшего использования каждый раз, когда я сталкиваюсь с этим, базовый класс не помечается как Serializable.

0 голосов
/ 17 февраля 2010

Вы, вероятно, только что удалили атрибут Serializable:

    [Serializable]
    public class ZDRCreatorConfigException : Exception 
    { 
        public ZDRCreatorConfigException(string msg) : base(msg) 
        { 
        } 

        public ZDRCreatorConfigException() : base() 
        { 
        } 
    } 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...