In a previous project I used BrockAllen.MembershipReboot as my membership service provider, however, at the time there was no NugetPackage available so I copied the code and moved things around a little bit.
I had a solution that looked something like.
Solution.Common //database connection helpers, base repos, etc
Solution.DataModels //Contained UserAccount model (I put all datamodels here so I would never have to worry about circular references) All projects depended on this project.
Solution.Authentication //Services, like Add New Account were placed here
Solution.RandomServices
Solution.WebApp //MVC Project (Referenced Solution.Authentication)
Well, now I see that I can install MembershipReboot through NuGet. But, I'm not sure which project I should install it into.
My current project solution looks like this.
Sol.Common //Defines "BaseEntity" which UserAccountModel will need to inherit
Sol.Database //Contains all of the EF Entities, Repositories, and Migrations
Sol.Services //References Sol.Database to connect to repositories for data acess.
Sol.WebApp //References all of the above projects
All of the examples on the GitHub page are single project solutions. I'm not sure how or if I can use the Nuget Package to allow the UserAccountModel to inherit the BaseEntity. Ideally I'd have the IUserAccountRepository live in Sol.Database and the UserAccountServices live in Sol.Services.