J'essaie de compiler ce code dans Microsoft Visual C # 2010
using System;
using System.Globalization;
class main
{
static void Main()
{
dynamic d;
d = "dyna";
Console.WriteLine(d);
}
}
mais je reçois ces deux erreurs
Erreur 1 Le type prédéfini «Microsoft.CSharp.RuntimeBinder.Binder» n'est pas défini ou importé
Erreur 2 Un ou plusieurs types requis pour compiler une expression dynamique sont introuvables. Vous manquez des références à Microsoft.CSharp.dll et System.Core.dll?
J'ai lu cet autre article mais je suis nouveau sur C # et je ne pouvais pas comprendre quel était vraiment le problème. Surtout quoi et où sont ces soi-disant .config
fichiers ..
Réponses:
Dans la fenêtre de votre explorateur de solutions, cliquez avec le bouton droit sur Références, sélectionnez Ajouter une référence, accédez à l'onglet .NET, recherchez et ajoutez Microsoft.CSharp.
la source
Assurez-vous que votre projet cible le .NET Framework 4.0. Visual Studio 2010 prend également en charge la cible de framework .NET 3.5, mais .NET 3.5 ne prend pas en charge le
dynamic
mot clé.Vous pouvez ajuster la version du framework dans les propriétés du projet. Voir http://msdn.microsoft.com/en-us/library/bb398202.aspx pour plus d'informations.
la source
J'ai eu le même problème, sauf que la suppression et l'ajout de la référence n'ont pas résolu l'erreur, j'ai donc changé la version .Net de
4.5
à4.5.1
.Pour ce faire, accédez à votre
web.config
fichier et modifiez les lignes suivantespour ça
et reconstruire.
la source
Les lignes rouges sous le ViewBag m'ont fait mal à la tête pendant 3 mois). Supprimez simplement la référence Microsoft.CSharp du projet, puis ajoutez-la à nouveau.
la source
J'ai eu le même problème et l'ai résolu en supprimant la référence "Microsoft.CSharp" du projet, puis en l'ajoutant à nouveau.
la source
Pour moi, la suppression et l'ajout d'une référence à Microsoft.CSharp ont résolu le problème temporairement jusqu'à ce que le fichier affecté soit modifié. La fermeture de Visual Studio et la réouverture du projet l'ont corrigé à plus long terme, c'est donc une option si cette situation se produit alors que Microsoft.CSharp est déjà référencé.
Peut-être que le redémarrage de l'IDE comme première étape semble trivial, mais voici un rappel pour les gens comme moi qui ne pensent pas que c'est la première chose à faire.
la source
Rien de tout cela n'a fonctionné pour moi.
Mes bibliothèques de classes faisaient toutes référence à System.Core et Microsoft.CSharp. L'application Web était 4.0 et n'a pas pu être mise à niveau vers 4.5 en raison de problèmes de support.
Je rencontrais l'erreur lors de la compilation d'un modèle de rasoir à l'aide du moteur Razor , et je ne le rencontrais que par intermittence, comme après le redémarrage de l'application Web.
La solution qui a fonctionné pour moi a été de charger manuellement l'assemblage puis de recommencer la même opération ...
J'espère que cela pourrait aider quelqu'un d'autre.
la source
Si vous manquez, Microsoft.CSharp.dll cette erreur peut se produire. Vérifiez vos références de projet.
la source