Runtime: 「タイプ」に「IsEnum」の定義が含まれていません

作成日 2015年04月21日  ·  3コメント  ·  ソース: dotnet/runtime

CoreCLRに変換しているプロジェクトをビルドしているときに、次のエラーが発生しました。

C:\ Users \ Benjamin \ Projects \ MiniProfiler \ StackExchange.Profiling \ SqlTiming.cs(136,25):エラーCS1061:「タイプ」に「IsEnum」の定義が含まれておらず、最初の引数を受け入れる拡張メソッド「IsEnum」がありませんタイプ「タイプ」のが見つかりました(usingディレクティブまたはアセンブリ参照がありませんか?)

これについて私が奇妙なのは、オンラインで見つけることができるすべてのものが、 Typeが利用可能であり、 IsEnumプロパティが利用可能であることを示していることです。 Fowlerの逆パッケージ検索では、 System.RuntimeパッケージでTypeが見つかり、 dnxcore50フレームワークのproject.json依存関係としてSystem.Runtime 4.0.20-*があります。セクション。

ただし、コンパイラエラーが発生し、dotPeekはSystem.RuntimeパッケージにTypeタイプがないとも言います。 私は何を逃しましたか?

最も参考になるコメント

@aggieben 、おそらく.GetTypeInfo()。IsEnumが必要です(GetTypeInfoはSystem.Reflection名前空間の拡張メソッドです)。 Typeの表面積の束は、IsEnumを含めてTypeInfoに移動されたと思います。 dotPeekに関しては、試したことはありませんが、mscorlib実装に転送しているSystem.Runtime.dllの[assembly:TypeForwardedTo(typeof(Type))]属性に注意を払っていないと推測する必要があります。

全てのコメント3件

@aggieben 、おそらく.GetTypeInfo()。IsEnumが必要です(GetTypeInfoはSystem.Reflection名前空間の拡張メソッドです)。 Typeの表面積の束は、IsEnumを含めてTypeInfoに移動されたと思います。 dotPeekに関しては、試したことはありませんが、mscorlib実装に転送しているSystem.Runtime.dllの[assembly:TypeForwardedTo(typeof(Type))]属性に注意を払っていないと推測する必要があります。

ありがとう!

2015-8-4の時点で、MSDNはType for .Net 4.5 /4.6の下にIsEnumをリストしていることに注意してください。
https://msdn.microsoft.com/en-us/library/System.Type_properties(v = vs.110).aspx

@stephentoubに感謝し

このページは役に立ちましたか?
0 / 5 - 0 評価