Qu'est-ce que Microsoft.csharp.dll dans .NET 4.0


Réponses:


193

Il est utilisé lorsque / si vous utilisez le dynamicmot - clé dans votre projet. L'assembly contient le classeur d'exécution C #.

Le compilateur C # a été essentiellement extrait dans une bibliothèque afin qu'il puisse émettre, compiler et exécuter le code nécessaire pour prendre en charge le dynamicmot - clé. La première fois que vous utilisez dynamicdans votre code, cet assembly (ainsi que System.dll, System.Core.dll et System.Dynamic.dll) sera chargé dans votre AppDomain.


3
Souhaitez-vous spéculer sur les raisons pour lesquelles ils ont choisi de le référencer par défaut? Devrions-nous tous utiliser dynamicbeaucoup plus que ce que nous utilisons actuellement (c'est-à-dire jamais)?
— mo.

4
@mo c'est similaire à la façon dont ils s'ajoutent automatiquement using System.Linq;à tous les fichiers. Cela rend simplement les nouvelles fonctionnalités linguistiques un peu plus transparentes. Si vous souhaitez l'utiliser dynamic, cela fonctionne simplement sans effort de votre part.
— Matt Greer

16

Toujours enlevé jusqu'à présent. Aucun problème pour le moment.


13
Si votre projet n'utilise pas le mot-clé dynamique, je suppose que vous <Reference Include="Microsoft.CSharp" /> pouvez supprimer la ligne qui indique dans le fichier .csproj.
— Cheeso

Merci TomTom et @Cheeso. J'essayais de créer un .dll (Framework défini sur 3.5) à utiliser avec Unity, et le supprimer du fichier .csproj a fait l'affaire.
— Wolfram

4
Cette «réponse» est plus appropriée comme commentaire sous la question. Bien qu'il suggère une solution de contournement, il ne répond pas réellement à la question de savoir à quoi sert le nouvel assemblage.
— toonice
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.