У меня есть проект PCL, в котором я пытаюсь использовать предоставленную Microsoft PCL-версию System.Net.Http и ее зависимости, все они устанавливаются через Nuget. Все это отлично работает в OSX (я могу создать PCL и успешно использовать его в проектах iOS и Android).
Однако в Windows я сталкиваюсь с проблемой, описанной в этом стеке Поток переполнения, в котором компилятор выдает предупреждения о том, что ссылки не разрешены (предупреждение под №3 в вопросе о переполнении стека) и выдает ошибку с ошибкой о том, что пространство имен Http не существует (ошибка №2 в стеке). Вопрос о переполнении).
Я попытался найти решение, описанное в этом вопросе о переполнении стека, но Xamarin Studio выйдет из строя, если я изменю текущий профиль (в параметрах проекта> Сборка> Общие) с Profile136
(по умолчанию) на Profile78
(предлагаемое решение). Изменение профиля сохраняется в моем проекте, и сбой повторяется, если я пытаюсь перезапустить Xamarin Studio. Исключение и (частичная) трассировка стека показаны ниже.
Есть ли предложения по устранению этого исключения или альтернативное решение проблемы, описанной в ветке переполнения стека?
System.StackOverflowException was unhandled
Message: An unhandled exception of type 'System.StackOverflowException' occurred in ICSharpCode.NRefactory.dll
Трассировки стека:
> ICSharpCode.NRefactory.dll!ICSharpCode.NRefactory.TypeSystem.TopLevelTypeNameComparer.GetHashCode(ICSharpCode.NRefactory.TypeSystem.TopLevelTypeName obj) Unknown
mscorlib.dll!System.Collections.Generic.Dictionary<ICSharpCode.NRefactory.TypeSystem.TopLevelTypeName,ICSharpCode.NRefactory.TypeSystem.IUnresolvedTypeDefinition>.FindEntry(ICSharpCode.NRefactory.TypeSystem.TopLevelTypeName key) Unknown
mscorlib.dll!System.Collections.Generic.Dictionary<ICSharpCode.NRefactory.TypeSystem.TopLevelTypeName,ICSharpCode.NRefactory.TypeSystem.IUnresolvedTypeDefinition>.TryGetValue(ICSharpCode.NRefactory.TypeSystem.TopLevelTypeName key, out ICSharpCode.NRefactory.TypeSystem.IUnresolvedTypeDefinition value) Unknown
ICSharpCode.NRefactory.dll!ICSharpCode.NRefactory.TypeSystem.Implementation.DefaultUnresolvedAssembly.DefaultResolvedAssembly.GetTypeDefinition(ICSharpCode.NRefactory.TypeSystem.TopLevelTypeName topLevelTypeName) Unknown
ICSharpCode.NRefactory.dll!ICSharpCode.NRefactory.TypeSystem.TypeSystemExtensions.GetTypeDefinition(ICSharpCode.NRefactory.TypeSystem.IAssembly assembly, ICSharpCode.NRefactory.TypeSystem.FullTypeName fullTypeName) Unknown
ICSharpCode.NRefactory.dll!ICSharpCode.NRefactory.TypeSystem.Implementation.GetClassTypeReference.Resolve(ICSharpCode.NRefactory.TypeSystem.ITypeResolveContext context) Unknown
ICSharpCode.NRefactory.dll!ICSharpCode.NRefactory.TypeSystem.Implementation.DefaultUnresolvedAssembly.DefaultResolvedAssembly.GetTypeDefinition(ICSharpCode.NRefactory.TypeSystem.TopLevelTypeName topLevelTypeName) Unknown
ICSharpCode.NRefactory.dll!ICSharpCode.NRefactory.TypeSystem.TypeSystemExtensions.GetTypeDefinition(ICSharpCode.NRefactory.TypeSystem.IAssembly assembly, ICSharpCode.NRefactory.TypeSystem.FullTypeName fullTypeName) Unknown
ICSharpCode.NRefactory.dll!ICSharpCode.NRefactory.TypeSystem.Implementation.GetClassTypeReference.Resolve(ICSharpCode.NRefactory.TypeSystem.ITypeResolveContext context) Unknown
[... : Removed for brevity; repeat the previous three stack frames about 1000 times]
The maximum number of stack frames supported by Visual Studio has been exceeded.