在Amazon EC2实例中,我在VS2017 Express中创建了一个简单的Windows应用程序,该应用程序只登录到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,但一直得到“模块已加载,但入口点DllRegisterServer没有找到”。错误。
我还读到,将sqlite复制到应用程序目录有时是有效的,但由于它是一个应用程序,Windows似乎把安装工作埋在了我无法到达的地方。
我能做些什么才能让它发挥作用?
谢谢!
发布于 2019-04-28 09:10:10
结果是这样的:Could not load file or assembly 'System.ValueTuple'
AWS EC2安装了.Net框架4.7.2,我在4.6.1中进行了开发。一旦我在我的开发人员实例上安装了4.7.2,我就有了同样的问题,所以更新了项目中的所有Nuget包,现在它都能工作了。
https://stackoverflow.com/questions/55879015
复制相似问题