Ошибка «Фрейм не в модуле». в Xamarin.Forms — Android project

#c# #visual-studio #xamarin.android #xamarin.forms #httpclient

#c# #visual-studio #xamarin.android #xamarin.forms #httpclient

Вопрос:

Всякий раз, когда дело доходит до этой строки, появляется эта ошибка:

 using (var client = new HttpClient())
{
    var json = await client.GetStringAsync("http://mvalivros.azurewebsites.net/api/livros");
    var livros = JsonConvert.DeserializeObject<List<Model.Livro>>(json);
    return livros;
}
  

В VS появляется новая вкладка с надписью «Фрейм не в модуле».

Это происходит всякий раз, когда поток доходит до using строки.

Фрейм не в модуле

Это завершенный код…

 using Newtonsoft.Json;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

namespace LivrosApp.ApiLivros
{
    public static class Api
    {
        public static async Task<IList<Model.Livro>> GetAsync()
        {
            using (var client = new HttpClient())
            {
                var json = await client.GetStringAsync("http://mvalivros.azurewebsites.net/api/livros");
                var livros = JsonConvert.DeserializeObject<List<Model.Livro>>(json);
                return livros;
            }
        }
    }
}
  

Комментарии:

1. У вас есть последняя версия плагина Xamarin Visual Studio? Кроме того, вы все еще получаете ошибку, если удаляете все точки останова?

2. итак … да и да .. rsrs

Ответ №1:

Раздражает, когда это происходит!!
Для этого нет единого решения, в прошлом была эта проблема, и вы можете попробовать несколько вещей:

  1. Изменить параметры связывания -> Очистить -> построить
  2. Изменить быстрое развертывание -> сборка
  3. Убедитесь, что файлы mdb сгенерированы, и переключите генерацию отладочной информации на все файлы / pdb и перестройте
  4. Настройки исключений -> Исключения среды выполнения общего языка (должны быть отмечены галочкой) Если не отмечен, отметьте родительский уровень, чтобы все, что ниже него, было отмечено
  5. Инструменты -> Параметры -> Отладка -> Общие -> Включить только мой код (отмечен галочкой)
  6. Если ни один из них не работает, попробуйте перейти (F10) вместо перехода в (F11)

Надеюсь, хотя бы одно решение работает!!

Комментарии:

1. @DakshalRaijada Я перепробовал все ваши предложения, и ни одно из них не сработало для меня, есть ли у вас какие-либо другие возможные решения?

Ответ №2:

У меня была такая же проблема, и она сработала для меня после внесения следующих изменений.

Перейдите в раздел «Отладка» -> «Исключения» -> Снимите флажок «Исключение среды выполнения общего языка».

Источник, из которого я получаю решение: Debbuger не работает, фрейм не в модуле.