c# - 将项目部署到 Azure Web 服务时,ASP.NET Core 2.0 Web 应用程序失败并出现 SQLite 错误,但在本地环境中运行良好

标签 c# asp.net-mvc sqlite azure asp.net-core-2.0

当我将 ASP.NET Core 2.0 Web 应用程序部署到 Azure 应用服务时,该应用程序失败。

这就是项目中正在使用的内容。

  • ASP.NET Core 2.0 MVC Web 应用程序
  • Visual Studio 2017 企业版
  • SQLite 数据库
  • 代码优先 Entity Framework
  • Azure 应用服务

当我在 Visual Studio 本地运行该 Web 应用程序时,该应用程序运行良好。当我将其发布到 Azure Web 服务时,会出现问题,但它无法连接到数据库。导航到已部署的 Web 应用程序 URL 时出现以下错误:

SqliteException:SQLite 错误 1:“没有这样的表:库存”。

我已多次尝试将更新迁移添加迁移应用到数据库,但仍然会导致部署到时找不到表Azure 服务器。

这是我在 Startup.cs 文件中定义的 SQLite 连接。

     // Add Inventory DB
        services.AddDbContext<InventoryContext>(options =>
        options.UseSqlite("Data Source=Inventory.db"));

        // Add User DB
        services.AddDbContext<UserContext>(options =>
        options.UseSqlite("Data Source=User.db"));

        // Add Purchase Order DB
        services.AddDbContext<PurchaseOrderContext>(options =>
        options.UseSqlite("Data Source=PurchaseOrder.db"));

最佳答案

按照@Derek解决方案,我修改了appsettings.json上的连接字符串,因为我使用Configuration.GetConnectionString来获取连接字符串,并将sqlite db移动到App_Data文件夹到 wwwroot..

"ConnectionStrings": {
    "MyAppContext": "Data Source=./wwwroot/App_Data/myapp.db"
}

关于c# - 将项目部署到 Azure Web 服务时,ASP.NET Core 2.0 Web 应用程序失败并出现 SQLite 错误,但在本地环境中运行良好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47839352/

相关文章:

c# - 打印机不可用,除非共享

c# - 显示 "504 Gateway Timeout error"的自定义错误

asp.net-mvc - 为什么 MVC Post (ViewModel) 不会使用异步返回更新后的表单?

Sqlite的序列化模式

c# - 创建一个虚拟容器以便可以重新分配内部对象而不丢失? (C#)

c# - 创建对象时自动生成属性

c# - 如何正确打开mysql连接?

asp.net-mvc - Azure 身份验证 .net MVC 超时设置

sql - SQLite:按2列选择最后一行

sqlite 格式错误的数据库仅在本地