Questa DLL viene aggiunta per impostazione predefinita nei progetti di Visual Studio 2010. A cosa serve questo nuovo gruppo? Non sembra che contenga molto dopo averlo guardato usando Reflector e Google non sembra avere molto da dire a riguardo.Che cos'è Microsoft.csharp.dll in .NET 4.0
risposta
Viene utilizzato quando/se si utilizza dynamic
keyword nel progetto. L'assieme contiene il raccoglitore di runtime C#.
Il compilatore C# è stato essenzialmente estratto in una libreria in modo che possa emettere, compilare ed eseguire il codice necessario per supportare la parola chiave dynamic
. La prima volta che si utilizza dynamic
nel codice, questo assembly (oltre a System.dll, System.Core.dll e System.Dynamic.dll) verrà caricato nel tuo AppDomain.
Sempre rimosso fino ad ora. Nessun problema ancora.
Se il progetto non utilizza la parola chiave dinamica, suppongo che sia corretto rimuovere la riga che dice '
Grazie TomTom e @Cheeso. Stavo cercando di creare un file .dll (Framework impostato su 3.5) da utilizzare con Unity e rimuoverlo dal file .csproj ha funzionato. – Wolfram
Questa "risposta" è più appropriata come commento sotto la domanda. Mentre suggerisce una soluzione alternativa, in realtà non risponde alla domanda su che cosa è il nuovo assembly. – toonice
Vorresti speculare sul motivo per cui hanno scelto di fare riferimento ad esso per impostazione predefinita? Dovremmo tutti usare 'dynamic' molto più di quanto non lo siamo attualmente (cioè mai)? –
@mo è simile a come aggiungono automaticamente 'usando System.Linq;' a tutti i file. Rende solo le nuove funzionalità linguistiche un po 'più semplici. Se vuoi usare 'dynamic', funziona senza alcuno sforzo da parte tua. –