2016-06-27 2 views
1

У меня есть решение, написанное на VB с некоторыми компонентами C#. Решение использует некоторые библиотеки из 2 внешних источников. Я работаю над этим проектом в течение нескольких месяцев без проблем. Я не могу определить ничего конкретного, что я сделал, чтобы изменить свою систему или конфигурацию. Я просто работал над кодом, переходя от старого набора вызовов библиотеки к новым вызовам библиотеки. Новые вызовы библиотеки требуют полной перезаписи, поэтому я меняю разделы кода и проверяю на эту точку. Отладчик Visual Studio 2013 с утра в пятницу больше не будет распознавать или показывать мои локальные переменные в этом решении. Единственное, что появляется в окне Locals, находится под Me. Код действительно работает, и я пишу его в файл текстового журнала, чтобы подтвердить значения переменных в определенных точках, но отладчик ослеп. Когда я добавляю какие-либо из этих локальных переменных, чтобы наблюдать, что ответ «не объявлен, он может быть недоступен из-за уровня защиты».visual studio 2013 локальные переменные, не отображающиеся в отладчике

шагов я принял до сих пор не имеющие постоянного успеха:

  • смотрел онлайн и попробовал несколько матчей, которые я нашел без успеха
  • удаленных бин и OBJ папки и не было решение восстановить с не успех
  • воссоздано решение с нуля, копируются файлы базы и перестроено решения и проект (который работал в течение нескольких часов), пока я не сделал восстановить проект и проблема снова
  • появилась
  • обновлен до 5 и не удался

Я открыл свои старые проекты и проверил их. Отладчик работает просто отлично и показывает переменные. Очевидно, что это происходит во время процесса перестройки.

Любая помощь будет принята с благодарностью.

Благодаря

Update: Позвольте мне объяснить немного более четко ситуацию.

У меня есть приложение, которое я создал и продаю некоторым клиентам. Версия 1 установлена ​​и запущена в нескольких местах. Он написан в VB и использует некоторые старые COM-библиотеки для конкретного процесса интеграции.

Поставщик удаляет библиотеки COM. Их новые библиотеки находятся на C#.

Я создал новую копию всего моего приложения (решения) и импортировал новые библиотеки C#. Я прошел через и заменил старый код кодом для новых вызовов. Я перекомпилировал решение, и все прошло отлично в отладке.

Объекты, используемые с новыми вызовами, совершенно разные, и существует ограниченная документация, поэтому я обновляю раздел кода и проверяю на эту точку. Каждый раз, когда я «Сохранить все файлы», перестройте проект и протестируйте изменения. Все работало нормально в течение нескольких дней. В пятницу утром я начал работать над новыми изменениями и получил странную ошибку. Система не получала правильное значение для определенной переменной. Когда я пошел проверять его в окне WATCH, отладчик сказал, что не может его оценить. Я подумал, что что-то повесили, поэтому я все закрыл и перезагрузил свою машину. Когда я попробовал это позже, та же проблема.

После нескольких часов бездействия я вышел из VS, переименовал папку в «OLD» и воссоздал решение из старой версии. Сразу все выглядело хорошо. Я начал делать изменения и тестирование.Каждый раз, когда я делал перестроение, все выглядело отлично до последнего изменения. Здесь я снова.

Код работает отлично до того момента, которое я обновил. Единственная проблема заключается в том, что окна отладчика работают некорректно. Если переменная объявлена ​​на уровне класса вне Sub, они могут быть видны. Единственными переменными, отслежывающими отладчик, являются локальные переменные в текущем Sub.

Я искал кого-то еще с этой проблемой и нашел только несколько предметов. Я попробовал предложения, но не радость. Мне остается временно определить переменные за пределами sub, чтобы я мог видеть их во время отладки.

я на VS 2013 Update 5.

мне нужно, чтобы перейти к VS 2015, чтобы обойти это делать?

Еще раз спасибо за ваше время и помощь.

ответ

0

Я предполагаю, что вы не изменили версии визуальной студии с тех пор, как в последний раз для вас работала перестройка.

recreated solution from scratch, copied over base files and rebuilt solution and project (which worked for a few hours), until I did a rebuild project and problem appeared again 

Основываясь на этом, вы создаете его с нуля, и все работает до тех пор, пока вы не восстановите право? Но вы копируете базовые файлы все еще, и у вас есть новые вызовы библиотек, так как последний раз перестройка не испортила окно местных жителей. Так что один из них почти наверняка является виновником.

Поскольку звонки в библиотеке, похоже, изменились в зависимости от вашего поста. Если вы вернетесь к старому коду и выполните восстановление, это исправит? Предполагая это, поместите библиотеку обратно по одному, пока она не сломается.

Если возврат к старому коду не исправляет его, создайте с нуля со старым кодом и скопируйте файлы базы и перестройте. Если это исправлено, добавьте новые вызовы библиотеки по одному и перестройте их после каждого разрыва.

Если это не исправить, то вам нужно будет углубиться в то, что еще могло измениться.

Вы копируете базовые файлы, чтобы устранить эти проблемы, если можете: Можете ли вы использовать заполнители вместо базовых файлов или что-то, что не обязательно будет работать как готовый продукт, но это позволит вам отлаживать , перестроить, отладить снова, чтобы узнать, связана ли проблема с одним из них? Проверьте даты на базовых файлах и убедитесь, что они не изменились с тех пор, как в последний раз работала перестройка.

Что-то, что вы могли бы сделать одновременно, могло бы состоять в том, чтобы иметь коллегу для восстановления на своей машине и посмотреть, подходит ли для них одна и та же проблема. Это (почти) полностью исключает возможность того, что это проблема с конфигурацией/программой на вашем компьютере. В качестве альтернативы, есть некоторые бесплатные компиляторы vb.net в Интернете, которые вы можете загружать файлы и код. Я не уверен, что это будет практично для вас (из-за компонентов вашей программы и/или чувствительности данных) или нет, и никогда не пробовал никого, где есть код C#, но я бы не подумал это будет проблемой.

Смежные вопросы