Dalam membangun proyek yang saya konversi ke CoreCLR, saya menemukan kesalahan ini:
C:\Users\Benjamin\Projects\MiniProfiler\StackExchange.Profiling\SqlTiming.cs(136,25): kesalahan CS1061: 'Type' tidak berisi definisi untuk 'IsEnum' dan tidak ada metode ekstensi 'IsEnum' yang menerima argumen pertama dari tipe 'Jenis' dapat ditemukan (apakah Anda melewatkan arahan penggunaan atau referensi Majelis?)
Apa yang aneh bagi saya tentang ini adalah bahwa semua yang dapat saya temukan online menunjukkan bahwa Type
harus tersedia, dan properti IsEnum
harus tersedia . Pencarian paket terbalik Fowler menemukan Type
dalam paket System.Runtime
, dan saya memiliki System.Runtime 4.0.20-*
sebagai ketergantungan pada project.json
dalam kerangka dnxcore50
bagian.
Namun, kesalahan kompilator terjadi, dan dotPeek juga mengatakan tidak ada Type
ketik System.Runtime
paket. Apa yang telah saya lewatkan?
@aggieben , Anda mungkin ingin .GetTypeInfo().IsEnum (GetTypeInfo adalah metode ekstensi dari namespace System.Reflection). Sekelompok area permukaan Type dipindahkan ke TypeInfo, termasuk IsEnum yang saya percaya. Mengenai dotPeek, saya belum mencobanya, tetapi jika saya harus menebaknya, itu tidak memperhatikan atribut [assembly: TypeForwardedTo(typeof(Type))] di System.Runtime.dll, yang diteruskan ke implementasi mscorlib.
Terima kasih!
Perhatikan bahwa pada 2015-8-4 MSDN mencantumkan IsEnum di bawah Type for .Net 4.5/4.6
https://msdn.microsoft.com/en-us/library/System.Type_properties (v=vs.110).aspx
Terima kasih @stephentoub , itu membantu!
Komentar yang paling membantu
@aggieben , Anda mungkin ingin .GetTypeInfo().IsEnum (GetTypeInfo adalah metode ekstensi dari namespace System.Reflection). Sekelompok area permukaan Type dipindahkan ke TypeInfo, termasuk IsEnum yang saya percaya. Mengenai dotPeek, saya belum mencobanya, tetapi jika saya harus menebaknya, itu tidak memperhatikan atribut [assembly: TypeForwardedTo(typeof(Type))] di System.Runtime.dll, yang diteruskan ke implementasi mscorlib.