C# 多个子项目中的scaffold dbcontext。netcore 3.1项目失败

C# 多个子项目中的scaffold dbcontext。netcore 3.1项目失败,c#,.net-core,.net-core-3.1,C#,.net Core,.net Core 3.1,我肯定这是一个天真的问题,但我有一个C#,.Netcore 3.1项目,它有两个子项目。这两个子项目都是MVC应用程序,尽管其中一个名为“APP”,另一个名为“API” 该项目存在于.Netcore 2.2中,通常可以正常工作。有一个特别的问题,我想尝试最新版本是否能解决它,所以我创建了新的3.1版本,移动文件 好的,在2.2版本中,我在每个子项目中都有模型文件夹。每个都有完全相同的型号。我使用scaffoldbcontextpackagemanager命令来构建它们。能够将共享模型排除在外是有

我肯定这是一个天真的问题,但我有一个C#,.Netcore 3.1项目,它有两个子项目。这两个子项目都是MVC应用程序,尽管其中一个名为“APP”,另一个名为“API”

该项目存在于.Netcore 2.2中,通常可以正常工作。有一个特别的问题,我想尝试最新版本是否能解决它,所以我创建了新的3.1版本,移动文件

好的,在2.2版本中,我在每个子项目中都有
模型
文件夹。每个都有完全相同的型号。我使用
scaffoldbcontext
packagemanager命令来构建它们。能够将共享模型排除在外是有意义的,但我不知道/不知道如何做到这一点

在3.1版本中,我访问了第一个子项目(API)并进行了脚手架搭建,它可以正常工作。然后,我尝试在应用程序版本中执行相同的操作,并获得以下消息:

PM> Scaffold-DbContext -Connection "Server=db.my.company.com;Initial Catalog=MyDB;Integrated Security=True" -Context MyDbContext -Schemas "MySchema" -Provider Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models\MySchema -Force
Build started...
Build succeeded.
Could not load assembly 'API'. Ensure it is referenced by the startup project 'APP'.
这不是我所期望的。似乎API子项目中的某些内容正在泄漏到应用程序子项目中。我希望脚手架只是从远程数据库构建模型,并将生成的文件粘贴到当前活动项目的models文件夹中

我使用
WinGrep
APP
部分搜索
API
,但什么也没看到


如果答案是排除重复模型并让两个子项目使用它们,请让我知道这是如何做到的,和/或告诉我正确的文档。

因此我没有完整的答案,但我有答案。最初的脚手架可能在全局项目配置中设置了一些内容,这与在另一个子项目中再次尝试执行相同的操作相冲突

这将成为一个项目架构问题,而不是我认为的任何问题。我可以想出两种方法来解决这个问题,我打赌还有其他的方法

  • 创建另一个子项目,让它保存API和应用程序项目之间常见的模型。然后,应用程序和API项目将新项目作为依赖项链接。我不知道你能做到
  • 我选择做的只是在API项目中使用模型,让应用程序项目将API设置为依赖项
  • 也许还有更好的办法,但这就是我目前所拥有的