首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在发布网站期间没有在项目中找到任何数据库

在发布网站期间没有在项目中找到任何数据库
EN

Stack Overflow用户
提问于 2017-11-15 19:42:24
回答 3查看 2.8K关注 0票数 3

我试图在VisualStudio2017社区中发布一个带有实体框架核心的MVC核心项目,但是VS找不到任何包含DbContext的项目,因此它说:在项目中找不到数据库。

DbContext不在我想发布的网站项目中,而是位于网站项目引用的自己的dll项目中。

我试着在VS 2017社区版和预览版上发布Windows 10。在Windows 8之前,我可以使用预览版,它工作得很好。现在我在Windows 10上。

关于我的环境的信息:

  • Visual 2017社区(及预览)
  • .NET 4.6具有ASP.NET核心和EF核心
  • Windows 10

下面是发布对话框:

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-11-22 20:35:12

解决方案是安装VisualStudio2017 Professional,我现在可以看到我的DbContext类并在发布时应用迁移。

票数 2
EN

Stack Overflow用户

发布于 2018-11-15 14:36:09

在我的例子中,问题是在appsettings.dev.json文件中定义了连接字符串,而在appsettings.json文件中没有定义连接字符串。

在我将连接字符串移动到appsettings.json文件后,在发布对话框中正确地检测到了数据库。

票数 3
EN

Stack Overflow用户

发布于 2019-01-14 13:08:10

我认为您只需要一个来查找appsettings.json中的连接字符串,因为可能是在appsettings.json中搜索任何连接字符串的发布工具,在此之后,它将查找找到的连接字符串的dbContect

所以,如果你有这样的密码-

代码语言:javascript
复制
public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc();

    var connection = Configuration.GetConnectionString("MyConnectionString");
    services.AddDbContext<MyDbContext>(options => options.UseSqlServer(connection));
}

你得加上这个-

代码语言:javascript
复制
"ConnectionStrings": {
    "MyConnectionString": ""
}

发布工具将查找MyConnectionString,并将发现我们的DbContext注册为MyConnectionString服务。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47315953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档