Подтвердить что ты не робот

Msgstr "Символы для модуля MyLibrary.dll не были загружены"?

Я пытаюсь изучить Windows Phone dev, создав базовое приложение, которое предоставляет информацию о Pokemon. Для этого я создал переносимую библиотеку классов (PokeLib.dll), чтобы она совместима с универсальными приложениями. Я тестировал это через проект в том же решении ( "Тест" ), и он отлично работает. Вы можете взглянуть на код для них на мой Github, но, насколько я могу судить, все хорошо. Эти два проекта находятся в одном решении. Для решения приложения для Windows Phone я добавил PokeLib в качестве "существующего проекта", добавил ссылки и написал несколько строк кода, чтобы убедиться, что я могу назвать это нормально:

MainPage.xaml:

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="auto"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>

    <Button Name="GetDataButton" Content="GetData" Click="GetDataButton_Click" Grid.Row="0" HorizontalAlignment="Center"/>
    <TextBlock Name="DataText" Text="Click to get data" Grid.Row="1" Padding="10"/>
</Grid>

MainPage.xaml.cs:

    protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        p = new Pokemon(1); // gets data for Pokemon #1 (Bulbasaur)
    }

    Pokemon p;
    int counter = 0;

    private async void GetDataButton_Click(object sender, RoutedEventArgs e)
    {
        DataText.Text = "Fetching... Count: " + ++counter;
        if (counter == 1) // first time button clicked
        {
            await p.Create(); // populates the data container
            DataText.Text = String.Format("Pokemon #{0}: {1}", p.Id, p.Name);
        }
    }

Когда я пытаюсь запустить это на эмуляторе телефона, я получаю следующее сообщение: . Я создаю проект как "debug" и отключил "Включить только мой код". Я не уверен, что делать под панелью "Символы", но я также могу добавить скриншот, если бы это было полезно.

В любом случае приложение открывается, но зависает, когда я нажимаю кнопку GetData. Я ожидал, что он замерзнет на мгновение, так как этот звонок выполняется синхронно, но это постоянно. Однако никаких ошибок/исключений не возникает. Отладчик также не отвечает, когда я пытаюсь войти в вызов p.Create() (вероятно, из сообщения на скриншоте).

У кого-нибудь есть представление о том, что я делаю неправильно? Спасибо!

4b9b3361

Ответ 1

Вы можете перейти в меню "Свойства проекта" → "Создать" - "Дополнительно" → "Отладка" и изменить его значение на "полный".

Ответ 2

В Visual Studio я выбрал Build → Clean Solution. Это избавило от этого сообщения

Ответ 3

Я просто исправил ту же ошибку. Я перешел в Инструменты → Параметры → Отладка → Символы и нажал Пустой значок Symbol Cache в Visual Studio 2013. Вероятно, уничтожение папок в бункере и obj делает почти то же самое в гораздо менее элегантном стиле.

Ответ 4

У меня была эта ошибка, когда у меня была сборка, которая была в GAC, а Visual Studio не удаляла ее перед компиляцией/отладкой. Я смог решить это, удалив эту библиотеку (dll) из GAC.

//if pokelib.dll contained assembly: PokeLibrary.Pokemon 
//and it showed up in the GAC (c:\windows\assembly\) with that assembly name
gacutil /u PokeLibrary.Pokemon

Это разрешило условие предупреждения и позволило мне снова отладить.

Ответ 5

  • закрыть визуальную студию.
  • Выполняется быстрая очистка с использованием cclener.
  • Очистить проект и перестроить проект

& это сработало для меня. (Я действительно не знаю, как)

Ответ 6

Вы отлаживаете свой код с помощью ссылочной DLL, которая не скомпилирована для режима отладки.

Скомпилируйте ссылку dll в отладке и используйте ее.

Проверьте ссылочные адреса dll, чтобы убедиться, что вы используете правильную dll.

Ответ 7

Удостоверьтесь, что у вас нет нескольких открытых окон VS, в частности одного и того же проекта!:)

Ответ 8

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

Ответ 9

Я обнаружил, что проект, о котором я получал сообщение, оптимизировался при построении.

Я включил свойства проектов, вкладку "Компиляция", "Параметры расширенной компиляции"... и снял флажок Enable Optimizations

DeselectEnableOptimizations

Ответ 10

вот как я исправлен,

У меня была одна и та же страница, открытая в двух браузерах, и сначала я выбираю 1-й браузер, затем 2-й браузер для отладки без закрытия 1-го браузера, закрывая один из них, зафиксировав его...

Ответ 11

Я также столкнулся с той же ошибкой, и в моем случае проблема возникла из-за файла преобразования web.config, который я хотел настроить, кроме debug.config.

Мне пришлось отслеживать ошибку, используя ветку stage, и поэтому я настраиваю конфигурацию активного решения как Stage.

  • Перейдите к опции свойств вашего проектного решения.
  • Нажмите кнопку Configuration Manager в верхней правой части страницы.
  • Теперь разверните раскрывающуюся опцию конфигурации активного решения, и вы выбираете конфигурационный (сетевой) файл для своего проекта, чтобы действовать, когда вы его запускаете.

Я выбрал сцену, и когда я создаю проект, я получил эту ошибку и из-за этого отладчики стали неактивными.

Но когда я вернул опцию для отладки, проблема была решена.

Ответ 12

В моем случае у меня была другая версия приложения, использующего ту же .dll. Это предотвратило обновление GAC с помощью отладочной версии. Я убил процесс через диспетчер задач.

Ответ 13

Единственный способ, которым я могу обойти это сообщение, - перейти в "Отладка" > "Параметры и настройки" > "Отладка" > "Символы", а затем выбрать радиокнопку "Все модули, если только не исключено".

Я не уверен, что это идеальное решение, но оно работает пока.