部分类与自动生成的类部分不匹配

问题描述 投票:0回答:6

我已经为我的数据库类创建了实体模型,这是其中之一:

[EdmEntityTypeAttribute(NamespaceName="SotiModel", Name="SKUPrice")]
[Serializable()]
[DataContractAttribute(IsReference=true)]
public partial class SKUPrice : EntityObject
{
    ...
}

并为其中之一创建了部分类

public partial class SKUPrice
{
}

这里的问题是“部分”世界是用“浅色”颜色编写的,并且 resharper 建议:“具有单个部分的部分类”

看来我的部分类的“自己”部分与“主要”部分不匹配......

为什么?如何解决这个问题?

附注我在VS2010中工作,在Windows7(64位)下


我不知道实际上是什么问题,但由于某种原因,如果我将类源代码从一个文件复制/粘贴到另一个文件,然后重命名类名和元数据类名的名称 - 这不会被“考虑” Visual Studio 作为有效课程。

如果我删除带有“损坏”类的文件,并从头开始手动键入所有内容 - 文件被工作室接受...

奇怪又愚蠢的事情......但它是......

c# entity-framework .net-4.0 resharper partial
6个回答
24
投票

每个类定义必须位于同一命名空间中才能正确匹配。


6
投票

也有类似的问题。尝试重新启动 Visual Studio。


4
投票

这听起来很愚蠢,但请尝试手动输入名称空间。

我的问题与你的类似,在命名空间后添加空格后,resharper 神奇地识别了部分类。我尝试删除空格,它仍然有效。简而言之,源代码文件实际上是相同的,但它们的处理方式有所不同,只是因为命名空间有任何手动键入或未键入的痕迹。

对我来说听起来像是 VS bug。


1
投票

我知道已经有一段时间了,但我刚刚遇到这个问题,我注意到我的

x:Class="NAME"
与文件
NAME
不匹配。我也进行了复制和粘贴,但一开始我忽略了进行更改。使名称匹配解决了我遇到的所有问题。


0
投票

我有同样的问题,我通过从 resharper 6.1 降级到 6.0 来解决它,一切正常。 如果您正在使用 resharper,请尝试暂时卸载它。


0
投票

类定义不能跨程序集传播。

© www.soinside.com 2019 - 2024. All rights reserved.