Visual Studio 2012 - 自引用泛型解析错误

Mar*_*lon 20 .net c# generics visual-studio visual-studio-2012

我在这里遇到了一些麻烦,在我们公司,我们有一个自动DA层,它使用自引用泛型.在Visual Studio 2010中,IDE对此非常满意,但是2012年似乎有困难,即使我们构建时它也成功了.

这是一个例子:

解析错误的示例

DataObject定义如下:

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

我意识到这不是最简单的定义,而是它的合法性,它构建得非常好.

然而,这个"问题"导致智能感知失败,以及"转到定义"功能,不用说这是令人沮丧的.

我已经尝试删除并重新添加引用,但问题仍然存在.

VS2010非常高兴,而且我已经回归使用,VS2012非常好用并且反应灵敏,但如果这个问题仍然存在,那就是它的破坏.

有人有任何想法吗?


想要明确一些事情,这个问题是间歇性的(这是一个痛苦,因为它很难跟踪根本原因).

它打破了intellisense并在任何地方"去定义",而不仅仅是因为有错误的类.

我将构建一个提交连接的示例解决方案,但最近时间不在我身边.

Sim*_*ier 1

如果您使用两个 Visual Studio 实例(甚至两个 Visual Studio 2010)打开同一解决方案/项目,则可能会发生这种情况。Intellisense 机制使用 Visual Studio 实例无法真正共享的 .NCB 文件。在这种情况下,Intellisense 的行为很奇怪。