19

ここで少し問題があります。当社には、自己参照ジェネリックを使用する自己ロール DA レイヤーがあります。Visual Studio 2010 では、IDE はこれに完全に満足していましたが、2012 では、ビルドすると成功するにもかかわらず、問題が発生しているようです。

次に例を示します。

解析エラーの例

DataObject の定義は次のとおりです。

[TypeDescriptionProvider(typeof(HyperTypeDescriptor.HyperTypeDescriptionProvider))]
public class DataObject<T> : 
    INotifyPropertyChanged, 
    IDataErrorInfo, 
    IEditableObject, 
    IDataObject 
    where T : 
        DataObject<T>, 
        new()

私はそれが最も単純な定義ではないことを認識していますが、合法であり、完全にうまく構築されています.

ただし、この「問題」により、インテリセンスが失敗するだけでなく、「定義へ移動」機能も失敗し、言うまでもなくイライラします。

参照を削除して再度追加しようとしましたが、問題は解決しません。

VS2010 は完全に満足しており、私が使用に戻ったものです。VS2012 は非常に優れており、反応が良いですが、この問題が続く場合は契約を破ります。

誰でもアイデアはありますか?


いくつかのことを明確にしたいのですが、この問題は断続的なものです (根本的な原因を追跡するのが非常に難しいため、これは苦痛です)。

エラーのあるクラスだけでなく、どこでもインテリセンスが壊れて「定義に移動」します。

Connect に送信するサンプル ソリューションの構築に挑戦する予定ですが、最近は時間がありません。

4

3 に答える 3

1

場合によっては、ReSharper が参照や GTD 機能に問題を引き起こす可能性がある場合もありますが、常にそうであるとは限りません。インストールしていますか?

于 2012-10-05T17:47:08.940 に答える
1

ばかげているように聞こえますが、インテリセンスで導入または変更された新しいコードで同様の問題に遭遇します。Intellisenseがコードが有効であることを適切に認識する前に、基本的にすべて保存を実行するか、場合によってはクリーンアップして再構築/コンパイルする必要があることを突き止めました。

VS2010でも同様のことが時々発生し、クラス構造を作成し、別のクラスのコードを編集してそれを使用し、跳ね返ってクラス関数をハックし、保存せずに新しい関数を追加すると複製できます。

于 2012-09-23T02:07:56.353 に答える
1

これは、Visual Studio の 2 つのインスタンス (たとえば、2 つの Visual Studio 2010) で同じソリューション/プロジェクトを開いた場合に発生する可能性があります。Intellisense メカニズムは、Visual Studio インスタンスが実際には共有できない .NCB ファイルを使用します。この場合、Intellisense の動作は奇妙です。

于 2012-11-06T16:37:21.883 に答える