我正在尝试从Visual Studio 2017社区中发布带有Entity Framework Core的MVC Core项目,但是VS找不到任何包含DbContext的项目,因此它说:项目中没有找到数据库。
DbContext不在网站项目中(我想发布),但位于网站项目引用的自己的dll项目中。
我曾尝试在Windows 10上发布VS 2017社区版和预览版。之前在Windows 8上,我可以使用预览版,它运行良好。现在我在Windows 10上。
关于我的环境的Som信息:
答案 0 :(得分:2)
解决方案是安装Visual Studio 2017 Professional,现在我可以看到我的DbContext类并在发布时应用迁移。
答案 1 :(得分:1)
在我的情况下,问题是在appsettings.dev.json文件中定义了连接字符串,而在appsettings.json文件中没有定义。
将连接字符串移至appsettings.json文件后,在发布对话框中正确检测到数据库。
答案 2 :(得分:0)
我认为您只需要键作为Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
gCount = Now + TimeValue("00:00:10")
Application.OnTime gCount, "ResetTime", Schedule:=False
ThisWorkbook.Worksheets("Interface").Select
'Hides all sheets but the interface sheet
Sheet2.Visible = False
Sheet3.Visible = False
Sheet6.Visible = False
Sheet7.Visible = False
Sheet8.Visible = False
End Sub
中的连接字符串,因为发布工具可能会在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
的服务。