2013-09-17 1 views
0

У меня есть приложение командной строки C#, и если я запустил его в Visual Studio, он отлично работает (debug или release, x86) , Если я открою командную строку и запустим исполняемый файл, который был создан во время его отладки, я получаю сообщение об ошибке «Попытка чтения или записи защищенной памяти».Ошибка «Ошибка чтения или записи защищенной памяти» в командной строке, но не при запуске через визуальную студию

Неужели кто-нибудь еще сталкивается с проблемой, когда приложение работает нормально в VS, но не через командную строку?

Заранее благодарен!

+0

Этот вопрос будет трудно ответить, не зная больше о конкретном приложении, бросающем исключение. Можете ли вы предоставить какой-либо код, который поможет нам вам помочь? –

+0

Обратите внимание, что поведение системной кучи изменяется, если программа запускается под отладчиком. Это может быть то, что вы видите. –

+0

Спасибо, я пытаюсь открыть файл erdas, представляющий собой файл, используя библиотеку GDAL. 'Dataset ds = Gdal.Open (FileName, Access.GA_ReadOnly);' Тогда, когда я пытаюсь получить доступ к любому из его атрибутов, я получаю ошибку System.AccessViolationException. – Michael

ответ

1

Похоже, это связано с тем, что gdal имеет некоторые проблемы с .NET 4.0. Кажется, он отлично работает с .NET 3.5, и это все, что нам нужно для нашего проекта. Возможно, мы использовали старую версию gdal. http://trac.osgeo.org/gdal/ticket/4049

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

+0

Поскольку существует неопределенное поведение, вызванное «проблемами с .NET 4.0». В разных средах (отладчик, командная строка) неопределенное поведение принимает разные формы, один из которых, по-видимому, сбой. На самом деле это повезло, потому что вы, возможно, не нашли эту ошибку, пока клиент не развернул ваше приложение на платформе, на которой он сработал. –

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

  • Нет связанных вопросов^_^