C# 如何使用新的类库nuget包设计visual studio解决方案

C# 如何使用新的类库nuget包设计visual studio解决方案,c#,asp.net,.net,nuget-package,asp.net-core-mvc,C#,Asp.net,.net,Nuget Package,Asp.net Core Mvc,我有两个文件夹: My-WebApplication My-WebService 两者都是额外的visual studio解决方案中的2个asp.netMVC6.0项目 两者都需要使用实体框架7共享自定义DbContext类 我使用Visual Studio 2015,并根据 "frameworks" : { "net451" } 您将在何处创建自定义的DbContext类,以及如何使用Visual Studio 2015中有关类库作为nuget软件包的最新功能在两个VS解决方案之间共享它-

我有两个文件夹:

My-WebApplication
My-WebService
两者都是额外的visual studio解决方案中的2个asp.netMVC6.0项目

两者都需要使用实体框架7共享自定义
DbContext

我使用Visual Studio 2015,并根据

"frameworks" : { "net451" }
您将在何处创建自定义的
DbContext
类,以及如何使用Visual Studio 2015中有关类库作为nuget软件包的最新功能在两个VS解决方案之间共享它-如果有帮助的话-


我是否应该创建一个类库,并将其放入第三个文件夹中的第三个share.sln文件中,与其他文件夹处于同一级别?两种解决方案都引用了这个类库?

您可以在一个单独的程序集中(包类库)使用一个公共DbContext。DbContext在Startup.cs的ConfigureServices中为每个项目分别启动

其中,YouProject.Data是具有YourDbContext的程序集

您还需要在YouProject.Data project.json中添加依赖项和命令,以便为您的上下文配置迁移:

"dependencies": {
    "EntityFramework.SqlServer": "7.0.0-beta7",
    "EntityFramework.Commands": "7.0.0-beta7"
}
"commands": {
    "ef": "EntityFramework.Commands"
},
您可以使用下一个命令创建新的迁移(对于MVC6 beta-7)

dnx ef迁移添加迁移名称-c YourDbContext-s YouApplicationProjectName

其中YouApplicationProjectName是asp.net mvc6项目名称的名称,例如My WebApplication或My WebService


我希望这能对您有所帮助。

当每个项目的project.json引用“YourProject.Data.assembly”时,这个程序集放在哪里?在哪个文件位置?文件夹1或文件夹2以及您为什么决定这样做?如果您有单独的解决方案,您可以将程序集放在任何位置,但必须将其添加到两个解决方案中以保留引用。好的,我构建这些程序集以与两个解决方案共享在同一目录级别的CommonShare文件夹中。这样,每个解决方案都可以引用程序集。在这里使用类库作为nuget包有优势吗?除此之外,我使用一个公共类库。类库(.csproj)项目上有许多类库(包):
"dependencies": {
    ...
    "YourProject.Data": "1.0.0.0",
    ...
}
"dependencies": {
    "EntityFramework.SqlServer": "7.0.0-beta7",
    "EntityFramework.Commands": "7.0.0-beta7"
}
"commands": {
    "ef": "EntityFramework.Commands"
},