Estoy tratando de compilar este código en Microsoft Visual C # 2010
using System;
using System.Globalization;
class main
{
static void Main()
{
dynamic d;
d = "dyna";
Console.WriteLine(d);
}
}
pero obtengo estos dos errores
Error 1 El tipo predefinido 'Microsoft.CSharp.RuntimeBinder.Binder' no está definido o importado
Error 2 No se pueden encontrar uno o más tipos necesarios para compilar una expresión dinámica. ¿Le faltan referencias a Microsoft.CSharp.dll y System.Core.dll?
Leí esta otra publicación, pero soy nuevo en C # y no pude entender cuál es realmente el problema. Especialmente qué y dónde están estos llamados .config
archivos ...
Respuestas:
En la ventana del explorador de soluciones, haga clic con el botón derecho en Referencias, seleccione Agregar referencia, vaya a la pestaña .NET, busque y agregue Microsoft.CSharp.
fuente
Asegúrese de que su proyecto esté dirigido a .NET Framework 4.0. Visual Studio 2010 también admite .NET Framework Framework Target, pero .NET 3.5 no admite la
dynamic
palabra clave.Puede ajustar la versión del marco en las propiedades del proyecto. Consulte http://msdn.microsoft.com/en-us/library/bb398202.aspx para obtener más información.
fuente
Tuve el mismo problema, excepto que eliminar y volver a agregar la referencia no solucionó el error, por lo que cambié la versión .Net de
4.5
a4.5.1
.Para lograr esto ve a tu
web.config
archivo y cambie las siguientes líneasa esto
y reconstruir
fuente
Las líneas rojas debajo de la ViewBag fueron mi dolor de cabeza durante 3 meses). Simplemente elimine la referencia Microsoft.CSharp del proyecto y luego agréguela nuevamente.
fuente
Tuve el mismo problema y lo resolví eliminando la referencia "Microsoft.CSharp" del proyecto y luego lo agregué nuevamente.
fuente
Para mí, eliminar y volver a agregar una referencia a Microsoft.CSharp solucionó el problema temporalmente hasta que se editó el archivo afectado. El cierre de Visual Studio y la reapertura del proyecto lo repararon a más largo plazo, por lo que es una opción si esta situación ocurre mientras Microsoft.CSharp ya está referenciado.
Quizás reiniciar el IDE como primer paso parece trivial, pero aquí hay un recordatorio para las personas como yo que no piensan en eso como lo primero que hay que hacer.
fuente
Ninguno de estos funcionó para mí.
Mis bibliotecas de clase definitivamente hacían referencia a System.Core y Microsoft.CSharp. La aplicación web era 4.0 y no se pudo actualizar a 4.5 debido a problemas de soporte.
Estaba encontrando el error al compilar una plantilla de maquinilla de afeitar usando el motor de maquinilla de afeitar , y solo lo encontré de forma intermitente, como después de que la aplicación web se haya reiniciado.
La solución que funcionó para mí fue cargar manualmente el ensamblaje y luego volver a intentar la misma operación ...
Esperemos que esto pueda ayudar a alguien más.
fuente
Si pierde, Microsoft.CSharp.dll este error puede ocurrir. Comprueba tus referencias de proyecto.
fuente