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.