Я запускаю свое приложение в VS2012 и получаю ошибку времени выполнения;
Когда я смотрю в «Исходное местоположение», я вижу mscorlib.dll, но не mscorlib.pdb.
Почему это происходит и как это исправить?
Я запускаю свое приложение в VS2012 и получаю ошибку времени выполнения;
Когда я смотрю в «Исходное местоположение», я вижу mscorlib.dll, но не mscorlib.pdb.
Почему это происходит и как это исправить?
Перейти к Инструменты, Параметры, Отладка, Общие, Включить только мой код
Это предотвратит попытки запуска отладчика на внутренней сборке .NET Framework.
Перейдите в «Инструменты», «Параметры», «Отладка», «Символы» и установите расположение кеша. Затем нажмите «Загрузить» выше, и он доставит для вас необходимые символы и сохранит их в указанном вами месте кеша.
Инструменты компилятора Microsoft создают символы в отдельных файлах с расширением .pdb (программная база данных). Это позволяет им создавать отдельные символы для выпуска двоичных файлов. С сервером символов ваша среда IDE может получить файл символов, соответствующий конкретной версии DLL, во время отладки. Вы также можете настроить эту систему для своих собственных двоичных файлов продукта, что может быть очень полезно для пост-мортемной отладки любых сбоев на машинах конечных пользователей.
Дополнительные сведения об использовании общедоступных символов см. в документации Microsoft.
У меня была эта проблема, когда я использовал статическую переменную, значение которой присваивается статическим методом.
Итак, всякий раз, когда я запускал приложение, эта строка кода вызывала исключение. Если вы поместите на это точку отладки (как это сделал я), вы заметите, что выбрасывается исключение.
Лучшее решение для устранения этой ошибки:
1: Откройте файл App.config.
2: Вставьте этот код useLegacyV2RuntimeActivationPolicy="true"
в тег запуска.
3: Сохраните это.
Теперь ошибка исчезнет. Кроме того, см. Изображение. Я сделал это для вас.
Это случилось со мной по другой причине: я ссылался на старую версию NLog (2.0), и вместо этого мне нужно было ссылаться на версию 4.0.
В консольном приложении VB в моем случае ничего из вышеперечисленного не было.
Просто выполняю строковый расчет в объявлениях Dim перед моими сабвуферами.
Код нарушения:
Dim FylPrefix$ = Fyl.Substring(0, Fyl.LastIndexOf("."))
Перемещение этого расчета в подпрограмму, в которой он был необходим, исправлено! ЖЕРОНИМО!!
Эта ветка старая, но если вы попали сюда, как и я, и ни одно из вышеперечисленных решений не сработало для вас, вот как я решил этот тупик: в моем случае исключение начало появляться после того, как я изменил «Имя сборки» в «Приложении». вкладка окна свойств. Если это так, попробуйте вернуться к исходному имени и посмотреть, исчезнет ли исключение. Возможно, причиной этого было то, что новое имя не соответствовало «AssemblyTitle» в «AssemblyInfo.cs».
Это может произойти, когда вы инициализируете переменную в своих объявлениях класса, и эта инициализация вызывает исключение:
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.
если у вас есть этот тип ошибки времени выполнения проекта в visualstudio Ответ: Cntr + Alt + E открыть окно исключения Снимите флажок Все chechboxes Должен и должен работать, написано Б Шрирам Мака Гиет Колледж Раджамандри, Восточный Годавари, партия 2014 г.