Cette DLL est ajoutée par défaut dans les projets Visual Studio 2010. A quoi sert ce nouvel assemblage? Il ne semble pas en contenir beaucoup après l'avoir regardé en utilisant Reflector et Google ne semble pas avoir beaucoup à dire à ce sujet non plus.Qu'est-ce que Microsoft.csharp.dll dans .NET 4.0
Répondre
Il est utilisé lorsque/si vous utilisez le dynamic
keyword dans votre projet. L'assemblage 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 mot-clé dynamic
. La première fois que vous utilisez dynamic
dans votre code, cet assembly (ainsi que System.dll, System.Core.dll et System.Dynamic.dll) sera chargé dans votre AppDomain.
Toujours supprimé jusqu'à présent. Aucun problème pour le moment.
Si votre projet n'utilise pas le mot-clé dynamic, j'imagine que vous pouvez supprimer la ligne qui indique '
Merci TomTom et @Cheeso. J'essayais de construire un fichier .dll (Framework réglé sur 3.5) à utiliser avec Unity, et le supprimer du fichier .csproj a fait l'affaire. – Wolfram
Cette "réponse" est plus appropriée comme un commentaire ci-dessous 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
Voulez-vous spéculer sur pourquoi ils ont choisi de le référencer par défaut? Devrions-nous tous utiliser 'dynamic' beaucoup plus que ce que nous sommes actuellement (c'est-à-dire jamais)? –
@mo cela ressemble à comment ils ajoutent automatiquement 'using System.Linq;' à tous les fichiers. Cela rend les nouvelles fonctionnalités de langage un peu plus homogènes. Si vous voulez utiliser 'dynamic', cela fonctionne sans effort de votre part. –