我试图在VisualStudio2017社区中发布一个带有实体框架核心的MVC核心项目,但是VS找不到任何包含DbContext的项目,因此它说:在项目中找不到数据库。
DbContext不在我想发布的网站项目中,而是位于网站项目引用的自己的dll项目中。
我试着在VS 2017社区版和预览版上发布Windows 10。在Windows 8之前,我可以使用预览版,它工作得很好。现在我在Windows 10上。
关于我的环境的信息:
下面是发布对话框:

发布于 2017-11-22 20:35:12
解决方案是安装VisualStudio2017 Professional,我现在可以看到我的DbContext类并在发布时应用迁移。
发布于 2018-11-15 14:36:09
在我的例子中,问题是在appsettings.dev.json文件中定义了连接字符串,而在appsettings.json文件中没有定义连接字符串。
在我将连接字符串移动到appsettings.json文件后,在发布对话框中正确地检测到了数据库。
发布于 2019-01-14 13:08:10
我认为您只需要一个键来查找appsettings.json中的连接字符串,因为可能是在appsettings.json中搜索任何连接字符串的发布工具,在此之后,它将查找找到的连接字符串的dbContect。
所以,如果你有这样的密码-
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
var connection = Configuration.GetConnectionString("MyConnectionString");
services.AddDbContext<MyDbContext>(options => options.UseSqlServer(connection));
}你得加上这个-
"ConnectionStrings": {
"MyConnectionString": ""
}发布工具将查找MyConnectionString,并将发现我们的DbContext注册为MyConnectionString服务。
https://stackoverflow.com/questions/47315953
复制相似问题