以前のプロジェクトでは、 BrockAllen.MembershipRebootをメンバーシップ サービス プロバイダーとして使用していましたが、当時は利用可能な NugetPackage がなかったので、コードをコピーして少し移動しました。
次のような解決策がありました。
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)
これで、NuGet を使用して MembershipReboot をインストールできることがわかりました。しかし、どのプロジェクトにインストールすればよいかわかりません。
私の現在のプロジェクトソリューションは次のようになります。
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
GitHub ページのすべての例は、単一のプロジェクト ソリューションです。Nuget Package を使用して UserAccountModel が BaseEntity を継承できるようにする方法や方法がわかりません。IUserAccountRepository を Sol.Database に配置し、UserAccountServices を Sol.Services に配置するのが理想的です。