Che cos'è Microsoft.csharp.dll in .NET 4.0


Risposte:


193

Viene utilizzato quando / se si utilizza la dynamicparola chiave nel progetto. L'assembly contiene il raccoglitore runtime C #.

Il compilatore C # è stato essenzialmente estratto in una libreria in modo da poter emettere, compilare ed eseguire il codice necessario per supportare la dynamicparola chiave. La prima volta che utilizzi il dynamictuo codice, questo assembly (così come System.dll, System.Core.dll e System.Dynamic.dll) verrà caricato in AppDomain.


3
Ti dispiacerebbe speculare sul motivo per cui hanno scelto di fare riferimento per impostazione predefinita? Dovremmo usare tutti dynamicmolto più di quello che siamo attualmente (cioè mai)?
mo.

4
@mo è simile a come si aggiungono automaticamente using System.Linq;a tutti i file. Rende solo le funzionalità della lingua più recente un po 'più fluide. Se vuoi usarlo dynamic, funziona semplicemente senza sforzo da parte tua.
Matt Greer,

16

Rimosso sempre finora. Nessun problema ancora.


13
Se il tuo progetto non usa la parola chiave dinamica, immagino che sia giusto rimuovere la riga che dice <Reference Include="Microsoft.CSharp" /> nel file .csproj.
Cheeso,

Grazie TomTom e @Cheeso. Stavo cercando di creare un .dll (Framework impostato su 3.5) da utilizzare con Unity e rimuoverlo dal file .csproj ha funzionato.
Wolfram,

4
Questa "risposta" è più appropriata come commento sotto la domanda. Sebbene suggerisca una soluzione alternativa, in realtà non risponde alla domanda su a cosa serva il nuovo assembly.
toonice,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.