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

Msgstr "mscorlib.pdb не загружен", но mscorlib.dll отсутствует

Я запускаю свое приложение в VS2012, и я получаю ошибку времени выполнения; enter image description here

Когда я смотрю "Исходное местоположение", я вижу mscorlib.dll, но не mscorlib.pdb.

Почему это происходит и как его исправить?

4b9b3361

Ответ 1

Перейти к Инструменты, Параметры, Отладка, Общие, Включить только мой код

Это предотвратит попытку отладчика запустить на внутренней сборке .NET Framework.

Ответ 2

Откройте Инструменты, Параметры, Отладка, Символы и задайте местоположение кэша. Затем нажмите на загрузку выше, и вы получите нужные вам символы и сохраните их в указанном вами кэше.

Инструменты компилятора Microsoft создают символы в отдельных файлах с расширением .pdb(база данных программы). Это позволяет создавать отдельные символы для релизов. С помощью сервера символов ваша среда IDE может получить файл символов, соответствующий определенной версии DLL во время отладки. Вы также можете настроить эту систему для своих собственных двоичных файлов продуктов, которые могут быть очень полезны для посмертной отладки любых сбоев на машинах конечного пользователя.

Подробнее об использовании общедоступных символов см. Документация по Microsoft.

Ответ 3

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

Итак, всякий раз, когда я запускал приложение, эта строка кода вызывала исключение. Если вы разместите точку отладки на этом (как и я), вы заметите, что исключение выбрано.

Ответ 4

Лучшее решение для решения этой проблемы:

1: откройте файл App.config.

2: Вставьте этот useLegacyV2RuntimeActivationPolicy="true" код в тег запуска.

3: Сохраните его.

Теперь ошибка исчезнет. Кроме того, см. <w640" Изображение. Я сделал это для вас.

Ответ 5

Это случилось со мной по другой причине: я ссылался на старую версию NLog (2.0) и вместо этого ссылался на версию 4.0.

Ответ 6

В консольном приложении VB, в моем случае это не было из вышеперечисленного.

Просто выполните вычисление строки в объявлениях Dim перед моими subs.

Код нарушения:

Dim FylPrefix $= Fyl.Substring(0, Fyl.LastIndexOf( "." ))

Перемещение этого вычисления в подэлемент было необходимо для исправления! GERONIMO!!

Ответ 7

Эта ветка старая, но если вы оказались здесь, как я, и ни одно из перечисленных выше решений не помогло вам, вот как я решил этот тупик: в моем случае возникло исключение после того, как я изменил "Имя сборки" в "Приложении". вкладка окна свойств. Если это так, попробуйте вернуться к исходному имени и посмотреть, исчезнет ли исключение. Возможно, причиной этого было то, что новое имя не совпадало с "AssemblyTitle" в "AssemblyInfo.cs".

Ответ 8

Это может произойти, когда вы инициализируете переменную в ваших объявлениях класса, и эта инициализация вызывает исключение:

class Program
{
    static OracleConnection ora = getOracleConnection(); 

}
static void main(string[] args) 
{
    ora.Open();
}
static OracleConnection getOracleConnection()
{
   OracleConnection orax = new OracleConnection(description=(host=myHost)
    (port=1521)(protocol=tcp))(connect_data=(sid=mySid)));user id=user;password=pw;
}

Если исключение выдается getOracleConnection(), вы можете получить эту ошибку. Переместите ваше назначение (но не обязательно ваше объявление) внутри main (где оно все равно принадлежит), и вы получите фактическое исключение, которое вызывает ошибку, вместо ошибки mscorlib.

Ответ 9

если у вас есть этот тип ошибки выполнения проекта в visualstudio Ответ: Cntr + Alt + E открыть окно "Исключение". Снимите флажок "Все чеки" Должен и занять свою работу, написанную колледжем Б Шримама Мака Гита rajahmundry, восточный godavary, партия 2014