Мое приложение пытается десериализовать данные, отправленные клиентом, и не работает со следующей ошибкой:
Исключение выбрано: 'System.Runtime.Serialization.SerializationException' в mscorlib.dll
Дополнительная информация: Невозможно получить член '<.ctor > b__0'.
googling не дает никаких результатов. Хорошо, я решил, что буду входить в логику десериализации и попытаться выяснить, что именно вызывает это. Ну, прошел день, и я нигде не закрылся.
Я использовал инструкции Microsoft Reference Source для настройки Visual Studio. Он что-то скачал
MicrosoftPublicSymbols\mscorlib.pdb\
DCF1E4D31F6944AC87E7A634262BEE881\mscorlib.pdb (780kb)
E47257B512BA49BC9FC367C532FC5F1E2\mscorlib.pdb (953kb)
но отладчик не входит.
Я больше искал googled и нашел другой способ сделать это - установил приложение dotTrace и использовал его как исходный сервер. И это тоже не помогает. Я все еще вижу следующее:
Symbol Load Information
popup для mscorlib.pdb говорит
C:\Users\я\AppData\Local\Temp\SymbolCache\MicrosoftPublicSymbols\mscorlib.pdb\e47257b512ba49bc9fc367c532fc5f1e2\mscorlib.pdb: Символы загружены.
Я могу войти в System.Windows.Forms, System.Linq и т.д. - так, вообще говоря, он работает - это просто этот конкретный вызов BinaryFormatter.Deserialize()
не работает. Каковы могут быть причины этого и как я могу заставить его вмешаться?
Может ли это быть из-за атрибута SecuritySafeCritical
?
[System.Security.SecuritySafeCritical]
public Object Deserialize(Stream serializationStream)
Я использую VS 2015.Net 4.5.2 (хотя я пробовал 4.5 с теми же результатами).