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?

Resuelto user1232138 asked hace 12 años • 8 respuestas

Estoy intentando 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 me salen estos dos errores

Error 1 El tipo predefinido 'Microsoft.CSharp.RuntimeBinder.Binder' no está definido ni 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 .configarchivos.

user1232138 avatar Jul 30 '12 23:07 user1232138
Aceptado

En la ventana del explorador de soluciones, haga clic derecho en Referencias, seleccione Agregar referencia, vaya a la pestaña .NET, busque y agregue Microsoft.CSharp.

Como alternativa, agregue el paquete Microsoft.CSharp NuGet.

Install-Package Microsoft.CSharp
M. Mennan Kara avatar Jul 30 '2012 16:07 M. Mennan Kara

Asegúrese de que su proyecto esté dirigido a .NET framework 4.0. Visual Studio 2010 también admite el objetivo del marco .NET 3.5, pero .NET 3.5 no admite la dynamicpalabra 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.

Chris Shain avatar Jul 30 '2012 16:07 Chris Shain