Common Language Runtime обнаружил недопустимую программу в Visual Studio - PullRequest
12 голосов
/ 31 октября 2009

Я использую Visual Studio 2008 довольно долго, но в последнее время я получаю это сообщение при разработке приложения на C #:

Общеязыковая среда выполнения обнаружила недопустимую программу

Это происходит, когда я пытаюсь войти в свойства компонента (свойства текстового поля, свойства ящика для инструментов и т. Д.). Но это действительно стало проблемой, когда я попытался запустить другое решение, которое я скачал из 5-звездочной программы Microsoft для разработчиков, и оно не позволило мне запускаться вообще, а просто получило ту же проблему ...

Я искал ответ в Google, но только что получил некоторые подсказки о людях, имеющих ту же расплывчатую ошибку, но в разных ситуациях, как в ASP.NET

Буду признателен за любую помощь в этом вопросе ... :( Я не хочу переустанавливать VS, это будет мой последний ресурс ...

Обновление:

Я так и не понял, в чем проблема, поэтому я установил виртуальную машину с Windows XP, там у меня только Visual Studio и Netbeans.

Ответы [ 16 ]

8 голосов
/ 29 ноября 2012

Я столкнулся с этой проблемой, пытаясь вызвать System.Management.Automation.Runspaces.RunspaceFactory.CreateRunspace () Для этого случая решение состояло в том, чтобы отредактировать файл проекта и удостовериться, что ссылка на соответствующую сборку выглядит точно так:

<Reference Include="System.Management.Automation" />

Другие способы ссылки на эту сборку с помощью средства выбора сборок VS 2012 и выбора сборки в физическом местоположении эталонной сборки.

5 голосов
/ 21 апреля 2010

Я так и не нашел решение этой проблемы в Интернете. Но для меня это исправило использование опции «Чистое решение» в Visual Studio.

Кажется, В.С. как-то немного "испачкался".

5 голосов
/ 31 октября 2009

Можете ли вы воспроизвести проблему в новом решении, не ссылаясь на какие-либо дополнительные сборки? Если это так, я думаю, что переустановка будет вашим лучшим выбором. Извините!

4 голосов
/ 23 марта 2011

Только вы должны удалить временные файлы asp.net из

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files

, а затем запустите решение на asp.net. Теперь оно будет работать правильно.

3 голосов
/ 27 апреля 2011

Я столкнулся с этой ошибкой. Певерифи помог с поиском источника - это был метод вызова группы синтакс. Пойди разберись.

1 голос
/ 27 апреля 2011

Ну, (для меня), мне удалось исправить эту проблему на моей стороне после часа исследований.

В VB.NET (v4.0 VS-SP1) я обнаружил ошибку, при которой компилятор не выдает ошибку, а также IntelliSense:

Обратите внимание: если я добавлю следующую строку в функцию (в любом месте программы, Класс / Модуль / Форма / и т. Д.):

MyGraphics.DrawImage(OriginalImage.Clone(New System.Drawing.Rectangle(ClipX1, ClipY1, ClipW, ClipH), Drawing.Imaging.PixelFormat.Format24bppRgb), 0, 0, TempWidth, TempHeight)

Компилятор выдает эту ошибку еще до того, как во время отладки попадет на функцию, он даже не достигнет строки (просто добавление к functoin приводит к тому, что компилятор боится даже войти в эту функцию).

Я скопировал строку из другой функции в своем коде, существующая функция работает нормально, а новая - нет. Что довольно шокирует, если честно.

Теперь, я снова проверил еще раз и нашел причину, так как объект OriginalImage был определен как Bitmap в работающем коде, однако я определил его как Image в том, который сделал не работает.

Далее я перешел к строке кода выше и проверил параметры / аргументы, которые принимает вышеописанная функция "клон", у экземпляра Bitmap параметры правильные и с 3 морфами (т.е. 3 разных набора параметров Вы можете вызвать функцию с помощью), однако, с экземпляром типа Image, Clone не принимает параметров!.

Я был очень потрясен, увидев это, проблема в том, что я не получил ни ошибок, ни предупреждений в IntelliSense, ни ошибок компилятора, код скомпилирован нормально, но функция не может быть выполнена, я уверен, что это ошибка (хм ... функция) в .NET.

Исправление было изменить system.drawing.Image на system.drawing.Bitmap, код работал позже.

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

С уважением Хайдер

1 голос
/ 22 апреля 2011

Может быть использование ссылочной сборки, в которой целевая задача ЦП отличается от x86 или x64 от указанной в решении, открытом в Visual Studio.

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

Мои обстоятельства работали на процессоре x64 с целью x86 для моего решения и ссылочной сборкой с целью ЦП Any.

1 голос
/ 03 мая 2010

Попробуйте использовать «Чистое решение», прежде чем переходить к руководству по устранению неполадок Microsoft.

0 голосов
/ 31 января 2019

Я использую Visual Studio 2012 и имею большой уровень проекта в vb.net. я также сталкиваюсь с этой же проблемой в моем компьютере во время создания столбцов в сетке.

Я просто очищаю свой проект и перестраиваю его, чтобы он работал без проблем.

Спасибо тебе,

0 голосов
/ 21 ноября 2015

Я закончил тем, что удалил оптимизации и целочисленную проверку переполнения. Снятие флажков трассировки и отладки в этом же диалоговом окне позволило мне работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...