0

なぜ私がこのエラーを受け取っているのか、誰かが光を当てることができるかどうか疑問に思います。

私は現在、エンティティオブジェクトと対話するためのコードを書いています(T4テンプレートを使用してDBコンテキストを生成します)。IQueryable<T> Include<T>メソッドはこの特定のDBコンテキストの名前空間で一度だけ定義されますが(今のところ、これを呼び出しますContext A)、次のようなLINQクエリでinclude拡張メソッドを使用しようとすると、「あいまいな呼び出し」エラーが発生します。

RemoveDataFromTestRun()上にリンクされた図に示されているメソッドを含むクラスでContext Bは、コードとusing Path.To.ContextB.Namespace;宣言の両方で別のDBコンテキスト()も参照しています。 Context B同じソリューションハウジング内のまったく異なる名前空間とプロジェクトにありますContext A

奇妙な部分はContext B、このクラスでの参照を完全に削除すると、コンパイラ/再シャーパーが、あいまいに定義されていると主張するメソッドを呼び出していると考えているため、怒鳴られることはなくなります。

どんな助けでも大歓迎です!

4

1 に答える 1

1

Visual Studioの定義ツールを試してみてください(私はそれがあなたが使用しているものだと思います)。これが本当に名前の衝突である場合、頼りになるターゲットには2つの選択肢があります。Resharperは、ナビゲーションがある場合は、ナビゲーションにも大いに役立ちます。2つの異なるターゲットを取得できない場合は、アセンブリが2回ロードされている可能性があります(おそらく少し古いバージョン、またはその他の奇妙なもの)...他にアイデアがないのではないかと心配しています。

于 2013-03-12T21:28:41.843 に答える