Ich versuche, diesen Code in Microsoft Visual C # 2010 zu kompilieren
using System;
using System.Globalization;
class main
{
static void Main()
{
dynamic d;
d = "dyna";
Console.WriteLine(d);
}
}
aber ich bekomme diese beiden Fehler
Fehler 1 Der vordefinierte Typ 'Microsoft.CSharp.RuntimeBinder.Binder' ist nicht definiert oder importiert
Fehler 2 Ein oder mehrere Typen, die zum Kompilieren eines dynamischen Ausdrucks erforderlich sind, können nicht gefunden werden. Fehlen Ihnen Verweise auf Microsoft.CSharp.dll und System.Core.dll?
Ich habe diesen anderen Beitrag gelesen , bin aber neu in C # und konnte nicht verstehen, was wirklich das Problem ist. Besonders was und wo sind diese sogenannten .config
Dateien ..
Antworten:
Klicken Sie in Ihrem Solution Explorer-Fenster mit der rechten Maustaste auf Verweise, wählen Sie Verweis hinzufügen, wechseln Sie zur Registerkarte .NET, suchen Sie Microsoft.CSharp und fügen Sie es hinzu.
quelle
Stellen Sie sicher, dass Ihr Projekt auf .NET Framework 4.0 ausgerichtet ist. Visual Studio 2010 unterstützt auch das .NET 3.5-Framework-Ziel, .NET 3.5 unterstützt das
dynamic
Schlüsselwort jedoch nicht .Sie können die Framework-Version in den Projekteigenschaften anpassen. Weitere Informationen finden Sie unter http://msdn.microsoft.com/en-us/library/bb398202.aspx .
quelle
Ich hatte das gleiche Problem, außer dass das Entfernen und Hinzufügen der Referenz den Fehler nicht behoben hat. Daher habe ich die .Net-Version von
4.5
auf geändert4.5.1
.Um dies zu erreichen, gehen Sie zu Ihrer
web.config
Datei und ändern Sie die folgenden Zeilendazu
und wieder aufbauen.
quelle
Rote Linien unter dem ViewBag waren 3 Monate lang meine Kopfschmerzen. Entfernen Sie einfach die Microsoft.CSharp-Referenz aus dem Projekt und fügen Sie sie erneut hinzu.
quelle
Ich hatte das gleiche Problem und löste es, indem ich die Referenz "Microsoft.CSharp" aus dem Projekt entfernte und sie dann erneut hinzufügte.
quelle
Durch Entfernen und erneutes Hinzufügen eines Verweises auf Microsoft.CSharp wurde das Problem vorübergehend behoben, bis die betroffene Datei bearbeitet wurde. Durch das Schließen von Visual Studio und das erneute Öffnen des Projekts wurde das Problem langfristig behoben. Dies ist eine Option, wenn diese Situation auftritt, während auf Microsoft.CSharp bereits verwiesen wird.
Vielleicht scheint es trivial, die IDE als ersten Schritt neu zu starten, aber hier ist eine Erinnerung für Leute wie mich, die das nicht als erstes betrachten.
quelle
Nichts davon hat bei mir funktioniert.
Meine Klassenbibliotheken bezogen sich definitiv alle auf System.Core und Microsoft.CSharp. Die Webanwendung war 4.0 und konnte aufgrund von Supportproblemen nicht auf 4.5 aktualisiert werden.
Beim Kompilieren einer Rasiervorlage mit der Razor Engine ist ein Fehler aufgetreten, der nur zeitweise aufgetreten ist, beispielsweise nach dem Neustart der Webanwendung.
Die Lösung, die für mich funktioniert hat, bestand darin, die Baugruppe manuell zu laden und dann denselben Vorgang erneut zu versuchen ...
Hoffentlich hilft das jemand anderem da draußen.
quelle
Wenn Sie Microsoft.CSharp.dll verpassen, kann dieser Fehler auftreten. Überprüfen Sie Ihre Projektreferenzen.
quelle