Избавление от "Нет доступного исходного кода для текущего местоположения." - PullRequest
39 голосов
/ 24 ноября 2008

Хорошо, это моя вина, но я не могу спасти себя.

Всякий раз, когда я пытаюсь войти в класс с полями с присваиваниями, вызывающими код .NET, я получаю диалоговое окно с текстом «Нет исходного кода, доступного для текущего местоположения».

Screenshot of error message

Например, вход в конструктор следующего класса даст мне сообщение выше:

public class Test
{
    private Stack<String> _Dummy = new Stack<String>();
    public Test() { }
}

Полагаю, это связано с тем, что в какой-то момент я изменил настройки для сервера символов, но, независимо от того, с чем я сейчас играю, похоже, я не могу избавиться от этого сообщения.

Где моя глупость забыла, что сделала?


Сводка моих текущих опций :

  • [] Включить отладку на уровне адресов
  • [x] Включить только мой код (только управляемый)
  • [] Включить пошаговый перевод источника .NET Framework
  • [] Включить поддержку исходного сервера
  • Расположение файла символов .pdb - пусто
  • Кэшировать символы с серверов символов в этот каталог: C: \ temp (пусто)

Ответы [ 14 ]

27 голосов
/ 06 марта 2010

Проверьте, не были ли случайно исключены некоторые исходные файлы. Задайте свойства решения и посмотрите раздел «Отладка исходных файлов» в разделе «Общие свойства».

25 голосов
/ 20 ноября 2013

В обозревателе решений проверьте страницу свойств решения в разделе Общие свойства , Отладка исходных файлов . Если вы видите сборку, указанную в разделе «Не искать эти исходные файлы:», удалите ее, и проблема должна исчезнуть.

Открыть страницу свойств решения

Screenshot of right clicking on the solution in Visual Studio's Solution Explorer

Установите флажок «Не искать эти исходные файлы»

Screenshot of the solution property pages in Visual Studio solution

12 голосов
/ 18 августа 2010

Если вы не хотите отлаживать сборку .NET, для быстрого решения проблемы «Нет доступного источника в текущем местоположении» снимите флажок «Требовать, чтобы исходные файлы точно совпадали с исходной версией», в разделе «Инструменты -> Параметры» -> Отладка -> Общие

4 голосов
/ 11 июня 2013

Вот что я сделал, чтобы решить эту проблему. Во-первых, прекратите отладку и просто откройте свое решение в VS. Затем убедитесь, что для конфигурации вашего решения установлено значение Debug, а не Release. Затем просто сделайте Rebuild (не Build, Rebuild). В следующий раз, когда вы запустите отладчик, он должен работать как обычно, и вы не должны получить это сообщение об ошибке.

Надеюсь, это поможет!

4 голосов
/ 15 апреля 2011

Если вы не хотите, чтобы эта надоедливая вкладка появлялась, вы можете попробовать это дополнение, которое я создал: http://erwinmayer.com/labs/visual-studio-2010-extension-disable-no-source-available-tab/

Он доступен для прямой загрузки в галерее Visual Studio: http://visualstudiogallery.msdn.microsoft.com/en-us/fdbb2036-471e-40a7-b20e-31f8fd5578fa

2 голосов
/ 27 января 2014

Одним из способов, который также работает для Express Editions Visual Studio (скажем, Visual Basic 2005 Express Edition), является переименование файла .suo. Он находится в той же папке, что и файл решения, .sln. Выйдите из Visual Studio перед переименованием файла.

Screenshot of Windows Explorer with a .suo file highlighted

Файл .suo содержит некритические настройки, такие как положения окон и т. Д. Однако он также содержит все точки останова, поэтому, вероятно, лучше переименовать его, чем удалять, если это действие будет сожалеть.

2 голосов
/ 25 мая 2012

У меня была такая же проблема в неуправляемой программе на C ++: когда отладчик был в функции main, он всегда показывал «Нет доступного исходного кода», и, что интересно, другие функции в этом файле показывались без проблем. В этом случае проблема заключалась в том, что я выделил слишком много данных в стеке. После уменьшения отладчик начал работать без проблем.

Это было в Visual Studio 2010.

2 голосов
/ 24 августа 2011

Эта ошибка заставила меня тоже сойти с ума. Я использовал «AjaxControlToolkit» и ссылался на него с помощью «Добавить ссылку» в мой проект.

Я удалил ссылку «AjaxControlToolkit» и добавил то же самое с «Добавить существующий элемент», и после этого у меня вообще не было проблем ...

2 голосов
/ 24 ноября 2008

Проверьте, есть ли в ваших проектах ссылка на проект, а не ссылка на DLL! Если существует ссылка на DLL, ваши изменения не будут распознаны вашим проектом, на который вы ссылаетесь, и вы получите сообщение об ошибке, подобное вашему.

1 голос
/ 29 апреля 2014

Вот как я это решил.

Щелкните правой кнопкой мыши свой проект -> Свойства -> Компиляция -> Дополнительные параметры компиляции ...

Затем в раскрывающемся меню установите «Создать информацию об отладке» на «Полный».

Надеюсь, это поможет.

...