Apa itu Microsoft.csharp.dll di .NET 4.0

Jawaban:

193

Ini digunakan ketika / jika Anda menggunakan dynamickata kunci dalam proyek Anda. Perakitan berisi pengikat runtime C #.

Compiler C # pada dasarnya telah diekstraksi ke perpustakaan sehingga dapat memancarkan, mengkompilasi dan menjalankan kode yang diperlukan untuk mendukung dynamickata kunci. Pertama kali Anda gunakan dynamicdalam kode Anda, majelis ini (serta System.dll, System.Core.dll dan System.Dynamic.dll) akan dimuat ke dalam AppDomain Anda.

adrianbank
sumber
3
Apakah Anda mau berspekulasi tentang mengapa mereka memilih untuk merujuknya secara default? Haruskah kita semua menggunakan dynamiclebih banyak daripada saat ini (yaitu tidak pernah)?
mo.
4
@mo mirip dengan cara mereka secara otomatis menambahkan using System.Linq;ke semua file. Itu hanya membuat fitur bahasa yang lebih baru sedikit lebih mulus. Jika Anda ingin menggunakannya dynamic, itu hanya berfungsi tanpa usaha di pihak Anda.
Matt Greer
16

Selalu dihapus sejauh ini. Belum ada masalah.

TomTom
sumber
13
Jika proyek Anda tidak menggunakan kata kunci dinamis, saya kira tidak apa-apa untuk menghapus baris yang mengatakan <Reference Include="Microsoft.CSharp" /> dalam file .csproj.
Cheeso
Terima kasih TomTom dan @Cheeso. Saya mencoba untuk membangun .dll (Framework set ke 3.5) untuk digunakan dengan Unity, dan menghapusnya dari file .csproj melakukan trik.
Wolfram
4
"Jawaban" ini lebih tepat sebagai komentar di bawah pertanyaan. Sementara itu menyarankan solusi, itu tidak benar-benar menjawab Pertanyaan untuk apa majelis baru ini.
toonice