¿Qué es Microsoft.csharp.dll en .NET 4.0?


Respuestas:


193

Se usa cuando / si usa la dynamicpalabra clave en su proyecto. El ensamblado contiene la carpeta de tiempo de ejecución C #.

El compilador de C # se ha extraído esencialmente en una biblioteca para que pueda emitir, compilar y ejecutar el código necesario para admitir la dynamicpalabra clave. La primera vez que utilice dynamicsu código, este ensamblado (así como System.dll, System.Core.dll y System.Dynamic.dll) se cargará en su AppDomain.


3
¿Le gustaría especular sobre por qué eligieron hacer referencia a él de forma predeterminada? ¿Todos deberíamos estar usando dynamicmucho más de lo que estamos actualmente (es decir, nunca)?
mes

44
@mo es similar a cómo se agregan automáticamente using System.Linq;a todos los archivos. Simplemente hace que las nuevas funciones del lenguaje sean un poco más fluidas. Si quiere usarlo dynamic, simplemente funciona sin ningún esfuerzo de su parte.
Matt Greer

16

Siempre lo quité hasta ahora. Aún no hay problemas.


13
Si su proyecto no usa la palabra clave dinámica, supongo que está bien eliminar la línea que dice <Reference Include="Microsoft.CSharp" /> en el archivo .csproj.
Cheeso

Gracias TomTom y @Cheeso. Intenté construir un .dll (Framework establecido en 3.5) para usar con Unity, y eliminarlo del archivo .csproj fue el truco.
Wolfram

44
Esta "respuesta" es más apropiada como comentario debajo de la pregunta. Si bien sugiere una solución alternativa, en realidad no responde a la pregunta de para qué sirve el nuevo ensamblado.
toonice
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.