13 Stimmen

Die Common Language Runtime hat ein ungültiges Programm in Visual Studio erkannt

Ich habe Visual Studio 2008 schon ziemlich lange benutzt, aber in letzter Zeit erhalte ich diese Meldung, wenn ich eine Anwendung in C# entwickle:

Die Common Language Runtime hat ein ungültiges Programm erkannt

Dies geschieht, wenn ich versuche, auf die Eigenschaften eines Komponenten zuzugreifen (Eigenschaften von Textmasked Box, Toolbox-Eigenschaft usw.). Aber es wurde wirklich ein Problem, als ich versuchte, eine andere Lösung zu starten, die ich aus dem 5-Sterne-Programm der Entwickler von Microsoft heruntergeladen hatte, und es hat mir nicht erlaubt, sie überhaupt zu starten und hatte nur das gleiche Problem...

Ich habe nach der Antwort bei Google gesucht, aber nur einige Hinweise darüber gefunden, dass andere Leute den gleichen vagen Fehler in verschiedenen Situationen wie in ASP.NET hatten.

Ich würde jegliche Hilfe bei diesem Problem schätzen... :( Ich möchte Visual Studio nicht neu installieren, das wäre meine letzte Ressource...

Update:

Ich habe nie herausgefunden, was das Problem war, also habe ich eine virtuelle Maschine mit Windows XP installiert, dort habe ich nur Visual Studio und Netbeans.

0 Stimmen

Überprüfen Sie Ihre Projektreferenzen, das hat bei mir funktioniert.

1voto

Alan Punkte 11

Versuchen Sie es mit "Clean Solution", bevor Sie das Problembehandlungshandbuch von Microsoft durchgehen.

1 Stimmen

Hast du einen Link dazu?

1voto

Ethereal13 Punkte 11

Möglicherweise wird eine referenzierte Assembly verwendet, die ein anderes CPU-Ziel von x86 oder x64 hat als das in der Lösung, die in Visual Studio geöffnet ist, angegebene.

Wenn Sie die Assembly neu kompilieren können, setzen Sie das Ziel der referenzierten Assembly auf den gleichen CPU-Typ wie den der geöffneten Lösung, um dies zu beheben.

Meine Situation war die Ausführung auf einer x64-CPU mit einem Ziel von x86 für meine Lösung und einer referenzierten Assembly mit einem CPU-Ziel von Any.

1voto

Heider Sati Punkte 11

Gut, (für mich), habe ich dieses Problem auf meiner Seite nach einer Stunde Untersuchungen behoben.

In VB.NET (v4.0 VS-SP1) habe ich einen Fehler gefunden, bei dem der Compiler weder einen Fehler wirft, noch die IntelliSense:

Beachten Sie unten, wenn ich die folgende Zeile in einer Funktion hinzufüge (überall im Programm, Klasse / Modul / Formular / usw.):

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

Der Compiler wirft diesen Fehler, bevor er überhaupt die Funktion beim Debuggen erreicht, er erreicht die Zeile nicht einmal (das Hinzufügen zur Funktion veranlasst den Compiler, selbst das Betreten dieser Funktion zu fürchten).

Ich habe die Zeile von einer anderen Funktion in meinem Code kopiert, die vorhandene Funktion funktioniert gut, die neue jedoch nicht. Was ziemlich schockierend ist, um ehrlich zu sein.

Nun habe ich noch einmal überprüft und die Ursache gefunden, da das OriginalImage-Objekt als Bitmap im Code definiert war, der funktionierte, habe ich es jedoch als Image in dem definiert, dass nicht funktionierte.

Dann bin ich zur obigen Codezeile gegangen und habe die Parameter / Argumente überprüft, die die "clone" -Funktion oben verwendet, die vom Instanztyp Bitmap hat die Parameter korrekt und mit 3 Transformationen (dh 3 verschiedene Parameter, mit denen Sie die Funktion aufrufen können), jedoch mit der Instanz vom Typ Image hat der Vorgang Clone keine Parameter!.

Ich war ziemlich schockiert, dies zu sehen, das Problem ist, dass ich keine Fehler oder Warnungen in IntelliSense, keine Compilerfehlermeldung erhalten habe, der Code wurde fehlerfrei kompiliert, die Funktion konnte jedoch nicht ausgeführt werden, ich bin sicher, dass dies ein Bug (Ähem ... ein Feature) in .NET ist.

Die Behebung bestand darin, System.Drawing.Image in System.Drawing.Bitmap zu ändern, der Code funktionierte danach.

Ich hoffe, das hilft

Mit freundlichen Grüßen Heider

1voto

Preben Huybrechts Punkte 5538

Ich hatte dasselbe Problem, nachdem wir AppDynamics installiert hatten. Die Lösung bestand darin, AppDynamics zu deinstallieren.

Wir verwenden .NET Remoting, um unsere Webdienste aufzurufen. (Legacy-Projekt)

0voto

Steve Cooper Punkte 18836

Ein Kollege von mir hatte ein Problem, bei dem seine Toolbox beschädigt wurde. Versuchen Sie, die Toolbox zu öffnen, mit der rechten Maustaste zu klicken und "Toolbox zurücksetzen" auszuwählen. Man weiß nie.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X