【问题标题】:Partial class doesn't match to auto-generated class part部分类与自动生成的类部分不匹配
【发布时间】:2011-08-27 07:32:16
【问题描述】:

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

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

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

public partial class SKUPrice
{
}

这里的问题是“部分”世界是用“浅”色写成的,resharper 建议:'partial class with a single part'

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

为什么?如何解决?

非常感谢!

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


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

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

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

如果你知道为什么会这样 - 请告诉我。

谢谢。

【问题讨论】:

  • 有时,当您在其他地方有错误代码时会发生这种情况。查看您的代码

标签: c# entity-framework .net-4.0 resharper partial


【解决方案1】:

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

【讨论】:

  • 是的,我只是忘了提一下:它们在同一个命名空间中
【解决方案2】:

遇到了类似的问题。尝试重新启动 Visual Studio。

【讨论】:

  • 如果这是解决 IDE 的许多构建问题的解决方案,这是一个非常糟糕的指标...
【解决方案3】:

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

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

对我来说听起来像是 VS 错误。

【讨论】:

  • 多么奇怪 - 在这种情况下,通过重新输入命名空间对我来说是诀窍。谢谢!
【解决方案4】:

我知道已经有一段时间了,但我刚刚遇到了这个问题,我注意到我的 x:Class="NAME" 与文件 NAME 不匹配。我也复制并粘贴了,但一开始我忽略了更改。使名称匹配解决了我遇到的所有问题。

【讨论】:

    【解决方案5】:

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

    【讨论】:

      【解决方案6】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-12-02
        • 2017-07-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多