【问题标题】:Using SQLite on AWS EC2在 AWS EC2 上使用 SQLite
【发布时间】:2019-04-27 09:19:39
【问题描述】:

在一个 Amazon Windows EC2 实例上,我在 VS2017 Express 中创建了一个简单的 Windows Forms 应用程序,它只记录到 C:\Data\Databases\File.txt 并打开一个 sqlite 数据库 C:\Data\Databases\Database。 db 使用实体框架。

当我安装它时,这在我的本地机器和其他机器上都可以正常工作。

不过,一旦我将它安装到 EC2 上,sqlite 似乎就不能正常工作了。将文本日志写入,并且在执行 FileExists 时,会找到数据库。

然而,一旦它击中“使用”

public class databaseDB : DbContext
{
    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseSqlite(@"Filename=C:\Data\Databases\Database.db");
    }
}

try
{
    using (databaseDB db = new databaseDB())
    {
       StaticFunctions.WriteToLog("Selecting...");
    }
}
catch (Exception ex)
{
    StaticFunctions.WriteToLog("Error!");
    StaticFunctions.WriteToLog(ex.InnerException.ToString());
}

写入以下错误日志:

System.IO.FileNotFoundException:无法加载文件或程序集“System.ValueTuple,Version=4.0.2.0,Culture=neutral,PublicKeyToken=cc7b13ffcd2ddd51”或其依赖项之一。该系统找不到指定的文件。 文件名:'System.ValueTuple,Version=4.0.2.0,Culture=neutral,PublicKeyToken=cc7b13ffcd2ddd51'---> System.IO.FileNotFoundException:无法加载文件或程序集'System.ValueTuple,Version=4.0.0.0,Culture =neutral, PublicKeyToken=cc7b13ffcd2ddd51' 或其依赖项之一。该系统找不到指定的文件。 文件名:'System.ValueTuple,Version=4.0.0.0,Culture=neutral,PublicKeyToken=cc7b13ffcd2ddd51'

我通常读过这意味着 SQLite 没有正确安装。我尝试过自己注册各种 sqlite dll,但不断收到“模块已加载,但找不到入口点 DllRegisterServer”。错误。

我还了解到,将 sqlite dll 复制到应用程序目录有时可行,但由于它是一个应用程序,Windows 似乎将安装埋在我无法到达的地方。

我可以做些什么来尝试让它工作?

谢谢!

【问题讨论】:

    标签: c# entity-framework sqlite amazon-ec2 dll


    【解决方案1】:

    原来是这样的:Could not load file or assembly 'System.ValueTuple'

    AWS EC2 安装了 .Net 框架 4.7.2,而我在 4.6.1 中进行开发。在我的开发人员实例上安装 4.7.2 后,我遇到了同样的问题,因此更新了项目中的所有 Nuget 包,现在一切正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-02-22
      • 1970-01-01
      • 2020-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-12
      相关资源
      最近更新 更多