Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Visual Studio 2012-自引用泛型分析错误_C#_.net_Visual Studio_Generics_Visual Studio 2012 - Fatal编程技术网

C# Visual Studio 2012-自引用泛型分析错误

C# Visual Studio 2012-自引用泛型分析错误,c#,.net,visual-studio,generics,visual-studio-2012,C#,.net,Visual Studio,Generics,Visual Studio 2012,我在这里遇到了一些麻烦,在我们公司,我们有一个使用自引用泛型的自卷DA层。在VisualStudio2010中,IDE对此非常满意,但是2012年似乎有困难,即使在我们构建时,它成功了 以下是一个例子: 数据对象定义如下: [TypeDescriptionProvider(typeof(HyperTypeDescriptor.HyperTypeDescriptionProvider))] public class DataObject<T> : INotifyProper

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

以下是一个例子:

数据对象定义如下:

[TypeDescriptionProvider(typeof(HyperTypeDescriptor.HyperTypeDescriptionProvider))]
public class DataObject<T> : 
    INotifyPropertyChanged, 
    IDataErrorInfo, 
    IEditableObject, 
    IDataObject 
    where T : 
        DataObject<T>, 
        new()
[TypeDescriptionProvider(typeof(HyperTypeDescriptor.HyperTypeDescriptionProvider))]
公共类数据对象:
InotifyProperty已更改,
伊达埃罗林福,
IEditableObject,
IDataObject
其中T:
数据对象,
新的()
我意识到这不是最简单的定义,但它是合法的,而且它构建得非常好

然而,这个“问题”导致intellisense以及“转到定义”功能失败,这一点毋庸置疑是令人沮丧的

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

VS2010非常开心,这是我一直在使用的,VS2012非常好,反应迅速,但如果这个问题持续下去,它将是一个交易破坏者

有人有什么想法吗


想澄清几件事,这个问题是间歇性的(这是一个痛苦,因为很难找到根本原因)

它破坏了intellisense,到处都是“转到定义”,而不仅仅是针对有错误的类


我将尝试构建一个示例解决方案,提交给connect,但最近时间不在我这边

听起来很傻,但我在使用intellisense引入或更改新代码时遇到了类似的问题。我追踪到,在intellisense正确确认代码有效之前,基本上需要执行全部保存,有时甚至需要清理和重建/编译


VS2010中有时也会发生类似的情况,如果您创建一个类结构,然后编辑另一个类上的代码以使用它,然后返回,删除类函数并添加新函数而不进行任何保存,则可以进行复制。

有时,这种情况并不总是ReSharper会导致引用和GTD功能出现问题。您是否安装了它?

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

您收到的错误或异常是什么?我刚刚再次打开VS20112,试图复制上面扭曲的红线所指示的错误,它目前没有执行此操作,但在某个时候会再次执行此操作。基本上,上面的错误是找不到类定义——就像我按ctrl+键一样。它将为我提供生成类型的功能,尽管它处于所需的类型中。请选择完整的框架,而不是客户端配置文件。如果这没有帮助,那么你真的需要将此发布到connect.microsoft.com,这是唯一可以修复此问题的人。他们需要一个好的改造项目。完全同意。如果完全重建/关闭和重新打开无法解决此问题,请尽快将其作为错误归档。只是猜测一下,您是否尝试过将BusRoute类部分化?一部分没有继承和实现,另一部分有继承和完全实现。不,clean VS install,除了预装的Microsoft插件之外,没有安装插件。Simon,出于兴趣,你知道卸载/重新加载项目是否会导致VS重建这些.NCB文件吗?因为这样做似乎可以解决发生时的intellisense问题。不,我不知道这一点,但这不会让我感到惊讶。我认为两次打开同一个项目的结果尚未确定(关于Intellisense)