Was ist Microsoft.csharp.dll in .NET 4.0?


Antworten:


193

Es wird verwendet, wenn Sie das dynamicSchlüsselwort in Ihrem Projekt verwenden. Die Assembly enthält den C # -Runtime-Ordner.

Der C # -Compiler wurde im Wesentlichen in eine Bibliothek extrahiert, damit er Code ausgeben, kompilieren und ausführen kann, der zur Unterstützung des dynamicSchlüsselworts erforderlich ist . Bei der ersten Verwendung dynamicin Ihrem Code wird diese Assembly (sowie System.dll, System.Core.dll und System.Dynamic.dll) in Ihre AppDomain geladen.


3
Möchten Sie darüber spekulieren, warum sie standardmäßig darauf verweisen? Sollten wir alle dynamicviel mehr verwenden als derzeit (dh niemals)?
mo.

4
@mo ist ähnlich wie sie automatisch using System.Linq;zu allen Dateien hinzufügen . Dadurch werden die neueren Sprachfunktionen nur ein wenig nahtloser. Wenn Sie verwenden möchten dynamic, funktioniert es einfach ohne Ihr Zutun.
Matt Greer

16

Immer so weit entfernt. Noch keine Probleme.


13
Wenn Ihr Projekt das dynamische Schlüsselwort nicht verwendet, ist es <Reference Include="Microsoft.CSharp" /> wahrscheinlich in Ordnung , die Zeile in der .csproj-Datei zu entfernen .
Cheeso

Vielen Dank an TomTom und @Cheeso. Ich habe versucht, eine DLL (Framework auf 3.5 gesetzt) ​​für Unity zu erstellen, und das Entfernen aus der .csproj-Datei hat den Trick getan.
Wolfram

4
Diese "Antwort" ist besser als Kommentar unter der Frage geeignet. Es schlägt zwar eine Problemumgehung vor, beantwortet jedoch nicht die Frage, wozu die neue Baugruppe dient.
Toonice
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.