Budda
Budda

Reputation: 18353

Partial class doesn't match to auto-generated class part

I've created entity model for my DB classes, here is one of them:

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

and created partial class for one of them

public partial class SKUPrice
{
}

The problem here is that 'partial' world is written in 'light' color and resharper suggests: 'partial class with a single part'.

It seems like my 'own' part of partial class is not matched to the 'main' part...

Why? How to fix that?

P.S. I'm working in VS2010, under Windows7 (64bit)


I don't know what is actually a problem, but due to some reason if I copy/paste class source code from one file to another and after that rename class name and name of metadata class name - that is not 'considered' by Visual studio as valid class.

If I delete file with that "broken" class, and TYPE EVERYTHING manualy from scratch - file is accepted by studio...

Strange and stupid thing... but it is...

Upvotes: 9

Views: 6697

Answers (6)

CleanUp
CleanUp

Reputation: 420

Class definitions cannot be spread across assemblies.

Upvotes: 0

Johan
Johan

Reputation: 68

Had a similar problem. Try restarting Visual Studio.

Upvotes: 6

Adam
Adam

Reputation: 488

I know it's been a while, but I just ran into this problem and I noticed that my x:Class="NAME" did not match the file NAME. I, too, copied and pasted but I neglected to make that change at first. Making the names matched fixed all issues I was having.

Upvotes: 1

Ihor Bats
Ihor Bats

Reputation: 169

I have the same issue and I resolve it by downgrading from resharper 6.1 to 6.0 and everything works well. If you are using resharper try uninstall it temporary.

Upvotes: 0

AdityaSantoso
AdityaSantoso

Reputation: 41

This sounds stupid, but try typing the namespace manually.

My problem is similar to yours, and after adding a space after the namespace, resharper magically recognizes the partial class. I tried removing the space, and it still works. In short, the source code file is virtually the same but they are treated differently just because the namespace has any trace of being typed manually or not.

Sounds like VS bug to me.

Upvotes: 4

Nathan
Nathan

Reputation: 6216

Each class definition must be in the same namespace for them to be correctly matched.

Upvotes: 24

Related Questions