Structuring the following .NET-projects as:
/App
/ProjectName.Web.Public
/ProjectName.Web.Admin
/ProjectName.Web.SomeOtherStuff
/Domain
/ProjectName.Domain.Core
/ProjectName.Domain.BoundedContext1
/ProjectName.Domain.BoundedContext1.Services
/ProjectName.Domain.BoundedContext2
/ProjectName.Domain.BoundedContext2.Command
/ProjectName.Domain.BoundedContext2.Query
/ProjectName.Domain.BoundedContext3
/Data
/ProjectName.Data
/Libs
/Problem1Resolver
/Problem2Resolver
Projects from the Libs folder are domain independent. They solve only their local task, for example, generating reports, parsing csv, caching mechanisms, etc. Domain structure corresponds to BoundedContext’am. Domain projects are independent of Data. Data contains DbContext, migrations, configurations related to DAL. Data depends on Domain entities to build migrations. Projects in the App folder use an IOC container for dependency injection. Thus, it turns out to achieve maximum isolation of the domain code from the infrastructure.