Ответ 1
Вы можете перейти в меню "Свойства проекта" → "Создать" - "Дополнительно" → "Отладка" и изменить его значение на "полный".
Я пытаюсь изучить 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() (вероятно, из сообщения на скриншоте).
У кого-нибудь есть представление о том, что я делаю неправильно? Спасибо!
Вы можете перейти в меню "Свойства проекта" → "Создать" - "Дополнительно" → "Отладка" и изменить его значение на "полный".
В Visual Studio я выбрал Build → Clean Solution. Это избавило от этого сообщения
Я просто исправил ту же ошибку. Я перешел в Инструменты → Параметры → Отладка → Символы и нажал Пустой значок Symbol Cache в Visual Studio 2013. Вероятно, уничтожение папок в бункере и obj делает почти то же самое в гораздо менее элегантном стиле.
У меня была эта ошибка, когда у меня была сборка, которая была в 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
Это разрешило условие предупреждения и позволило мне снова отладить.
& это сработало для меня. (Я действительно не знаю, как)
Вы отлаживаете свой код с помощью ссылочной DLL, которая не скомпилирована для режима отладки.
Скомпилируйте ссылку dll в отладке и используйте ее.
Проверьте ссылочные адреса dll, чтобы убедиться, что вы используете правильную dll.
Удостоверьтесь, что у вас нет нескольких открытых окон VS, в частности одного и того же проекта!:)
Вы можете использовать DotPeek
для создания файлов PDB для библиотеки, а затем поместить их в ту же папку, что и ваша dll. Еще один вариант, если код является открытым исходным кодом, заключается в клонировании репо, добавлении проекта в проект, добавлении зависимости, задании порядка сборки и начале отладки.
Я обнаружил, что проект, о котором я получал сообщение, оптимизировался при построении.
Я включил свойства проектов, вкладку "Компиляция", "Параметры расширенной компиляции"... и снял флажок Enable Optimizations
вот как я исправлен,
У меня была одна и та же страница, открытая в двух браузерах, и сначала я выбираю 1-й браузер, затем 2-й браузер для отладки без закрытия 1-го браузера, закрывая один из них, зафиксировав его...
Я также столкнулся с той же ошибкой, и в моем случае проблема возникла из-за файла преобразования web.config, который я хотел настроить, кроме debug.config.
Мне пришлось отслеживать ошибку, используя ветку stage, и поэтому я настраиваю конфигурацию активного решения как Stage.
Я выбрал сцену, и когда я создаю проект, я получил эту ошибку и из-за этого отладчики стали неактивными.
Но когда я вернул опцию для отладки, проблема была решена.
В моем случае у меня была другая версия приложения, использующего ту же .dll. Это предотвратило обновление GAC с помощью отладочной версии. Я убил процесс через диспетчер задач.
Единственный способ, которым я могу обойти это сообщение, - перейти в "Отладка" > "Параметры и настройки" > "Отладка" > "Символы", а затем выбрать радиокнопку "Все модули, если только не исключено".
Я не уверен, что это идеальное решение, но оно работает пока.