أثناء إنشاء مشروع أقوم بتحويله إلى CoreCLR ، واجهت هذا الخطأ:
C: \ Users \ Benjamin \ Projects \ MiniProfiler \ StackExchange.Profiling \ SqlTiming.cs (136،25): خطأ CS1061: لا يحتوي "النوع" على تعريف لـ "IsEnum" ولا يوجد أسلوب ملحق "IsEnum" يقبل وسيطة أولى من النوع "النوع" يمكن العثور عليها (هل تفتقد توجيه استخدام أو مرجع تجميع؟)
الأمر الغريب بالنسبة لي هو أن كل ما يمكنني العثور عليه عبر الإنترنت يشير إلى أن Type
يجب أن يكون متاحًا ، وأن الخاصية IsEnum
يجب أن تكون متاحة . يعثر البحث العكسي عن حزمة فاولر على Type
في حزمة System.Runtime
، ولدي System.Runtime 4.0.20-*
كتبعية في project.json
في إطار عمل dnxcore50
الجزء.
ومع ذلك، يحدث خطأ المترجم، ويقول dotPeek أيضا عدم وجود Type
اكتب في System.Runtime
الحزمة. ماذا فاتني؟
aggieben ، ربما تريد .GetTypeInfo (). IsEnum (GetTypeInfo هي طريقة امتداد من مساحة الاسم System.Reflection). تم نقل مجموعة من مساحة سطح Type إلى TypeInfo ، بما في ذلك IsEnum على ما أعتقد. فيما يتعلق بـ dotPeek ، لم أجربه ، ولكن إذا كان عليّ أن أخمن أنه لا ينتبه إلى السمة [التجميع: TypeForwardedTo (typeof (Type))] في System.Runtime.dll ، والتي تقوم بإعادة التوجيه إلى تنفيذ mscorlib.
شكرا!
لاحظ أنه اعتبارًا من 2015-8-4 يسرد MSDN IsEnum ضمن Type لـ .Net 4.5 / 4.6
https://msdn.microsoft.com/en-us/library/System.Type_properties (v = مقابل 110) .aspx
شكرًا stephentoub ، لقد ساعد ذلك!
التعليق الأكثر فائدة
aggieben ، ربما تريد .GetTypeInfo (). IsEnum (GetTypeInfo هي طريقة امتداد من مساحة الاسم System.Reflection). تم نقل مجموعة من مساحة سطح Type إلى TypeInfo ، بما في ذلك IsEnum على ما أعتقد. فيما يتعلق بـ dotPeek ، لم أجربه ، ولكن إذا كان عليّ أن أخمن أنه لا ينتبه إلى السمة [التجميع: TypeForwardedTo (typeof (Type))] في System.Runtime.dll ، والتي تقوم بإعادة التوجيه إلى تنفيذ mscorlib.