Estoy tratando de ejecutar una aplicación .NET MVC en mi computadora local que obtuve de GitHub.
Cuando presiono ejecutar en Visual Studio, todo cumple y se abre una nueva ventana del navegador con el error:
CS1980: no se puede definir una clase o un miembro que utilice 'dinámico' porque el compilador requería el tipo 'System.Runtime.CompilerServices.DynamicAttribute'
La sección del compilador en la misma ventana, muestra el siguiente error:
Lo he buscado en Google y parece ser el mismo error.
Este tipo estaba usando un tipo dinámico él mismo, por otro lado, no estoy usando ningún tipo dinámico, esto está siendo generado automáticamente por el compilador de .NET, y estoy usando .net 4.5 que debería tener soporte para dinámica.
Intenté aplicar la misma solución (Cambiar todas las referencias de System.Core a 4.0) pero la cosa es que todas ellas ya tienen la versión 4.0.
¿Tienes alguna idea de cómo podría resolver esto?
Tuve un error similar en un proyecto que estaba tratando de migrar. Intente volver a orientar el marco del proyecto hacia una versión o dos, y una vez que encuentre una versión de destino en la que no obtenga el error, vuelva a orientar a la versión con la que originalmente tuvo problemas.
Recibí el mismo error en un proyecto de sitio web destinado a 4.6.2 que hacía referencia a algunas bibliotecas más antiguas, lo redirigí a 4.5.1 y eso resolvió el error. Inmediatamente volví a dirigirme a 4.6.2 y no volví a encontrar el error.
Tuve este mismo problema, pero ninguna de las respuestas aquí lo resolvió, pero me indicó la dirección correcta. Creo que no actualicé la versión .NET en mi máquina a la más nueva. Después de instalarlo, revertí el marco objetivo (como se sugirió), reorienté el marco más nuevo e hice algunas cosas adicionales también:
Reinstalé TODOS los paquetes ejecutando esto en el administrador de paquetes:
update-package -reinstall
También comparé mi proyecto con uno que funcionaba para 4.5 e hice esto:
System.Net.Http , que no se actualizó por algún motivo (ver web.config - las versiones deberían mostrar oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" ).Otra cosa que hice para resolver algunos otros errores fue borrar el caché del componente eliminando todos los archivos aquí:
C:\Users\{USERNAME}\AppData\Local\Microsoft\VisualStudio\14.0\ComponentModelCache\
[despotricar] Desperdicié un día entero con todo esto. Gracias a MS por robarme un día más de mi vida arreglando problemas sin sentido que nunca debieron ser. Cada vez que actualizo, siempre recibo una sorpresa maravillosa y un juego encantador de arreglar la pista falsa. ¿No estaría de más detectar estos conflictos para aquellos que actualizan proyectos antiguos? ¿Quizás mejores seguimientos de errores cuando las cosas van mal? Dudo que sea tan difícil. ¿Quizás incluso algo como AsmSpy, pero más avanzado, integrado en VS? [/despotricar]
Recibí este error repentinamente un par de días después de actualizar a VS2015.3 usando la aplicación MVC 'tradicional' (no la nueva aplicación .NET Core / vNext).
Resulta que este error puede ser una completa pista falsa .
Asegurarse:
En mi caso, tuve un error mecanografiado que estaba causando un error y, por alguna razón, también provocó este extraño error dinámico de "pista falsa".
Mi solución fue ingresar al archivo .csproj y actualizar la versión de las herramientas de mecanografiado a 1.8 (es necesario descargar el proyecto y editarlo a mano). Como dije, esto no está relacionado con el error, pero menciono los detalles porque alguien más puede terminar con el mismo problema.
Creo que 1.7 no aceptó 'Ninguno' para el sistema de módulos mecanografiados mientras que 1.8 sí, de ahí el error.