我有一个winform应用程序,它从机器的Document文件夹中的特定文件夹中读取sqlite数据库。基本上我正在做的是将数据从移动数据库导入到Sql server。该功能在调试时运行顺利,但在我发布应用程序后,安装并运行它,它会抛出sqlite.interop.dll找不到。我刚刚下载了dll的x86和x64版本,并尝试在项目中包含它并再次发布。但仍然存在错误。
我的问题:应用可以检测到interop.dll的方法是什么?
以下是代码:
try
{
var directory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
var cn = "Data Source=" + directory + @"\Samplefolder\" + txtfilename.Text;
using (SQLiteConnection conn = new SQLiteConnection(cn))
{
conn.Open();
using (SQLiteCommand cmd = new SQLiteCommand())
{
cmd.Connection = conn;
cmd.CommandText = "SELECT * FROM Tablr";
using (SQLiteDataReader dr = cmd.ExecuteReader())
{
while (dr.Read())
{
// getting values from dr and assigning to a property of a class
}
}
}
}
MessageBox.Show("Successful");
}
catch(Exception message)
{
MessageBox.Show("Failed");
}
答案 0 :(得分:0)
我在下载了SQlite.Interop.dll x86和x64 here之后修复了此问题。然后 在我的项目中创建了x86和x64文件夹,并相应地将dll放入文件夹中。然后编辑项目属性并取消选中32位