Как исправить Costura.AssemblyLoader, вызывающий переполнение стека с помощью рекурсивного циклаC#

Место общения программистов C#
Anonymous
Как исправить Costura.AssemblyLoader, вызывающий переполнение стека с помощью рекурсивного цикла

Сообщение Anonymous »

В настоящее время у меня есть программа, использующая Costura, но, похоже, возникла ошибка stackoverflow, которая приводит к ее сбою. Я проверил стек вызовов и заметил, что Costura.AssemblyLoader.ResolveAssembly и Costura.AssemblyLoader.ReadFromEmbeddedResources вызываются снова и снова, что приводит к исключению stackoverflow. Мне было интересно, сталкивался ли кто-нибудь с этим раньше, и если да, дайте мне знать, как вы это исправили (или что это вообще означает).
У меня есть один проект, вызывающий другой проект через вызов метода. В этом методе в параметре присутствует словарь. Я считаю, что именно здесь и находится ошибка, поскольку исключение stackoverflow происходит прямо при вызове этого метода. Это можно найти в стопке, и оно повторяется снова и снова

Код: Выделить всё

mscorlib.dll!System.Reflection.Assembly.Load(byte\[\] rawAssembly) Unknown Program.exe!Costura.AssemblyLoader.ReadFromEmbeddedResources(System.Collections.Generic.Dictionary\ assemblyNames, System.Collections.Generic.Dictionary\ symbolNames, System.Reflection.AssemblyName requestedAssemblyName) Line 134 Unknown Program.exe!Costura.AssemblyLoader.ResolveAssembly(object sender, System.ResolveEventArgs e) Line 29    Unknown mscorlib.dll!System.AppDomain.OnAssemblyResolveEvent(System.Reflection.RuntimeAssembly assembly, string assemblyFullName)   Unknown \[Native to Managed Transition\]     \[Managed to Native Transition\]


Подробнее здесь: https://stackoverflow.com/questions/717 ... rsive-loop

Вернуться в «C#»