System.IO.IOException: "The process cannot access the file 'D:\rss8.db' because it is being used by another process." При создании архива
При попытке добавить файл БД SQLite в архив выпадает ошибка. на строке :
archive.CreateEntryFromFile(filebd, fila);
Типа файл уже чемто открыт. По логике програмы архивирование самое первое что запускается. Уже специально добавил выше открыть и закрыть файл, толку 0.
Вот кусок кода:
string filedbin = filebd;
filedbin = "Data Source=" + filedbin;
using (var connection = new SQLiteConnection(filedbin))
{
connection.Open();
string sqltext = "SELECT * FROM info";
SQLiteCommand command1 = new SQLiteCommand(sqltext, connection);
using (SQLiteDataReader reader = command1.ExecuteReader())
{
if (reader.HasRows)
{
while (reader.Read())
{
}
}
}
}
using (FileStream zipToCreate = new FileStream(filestrend, FileMode.Create))
{
using (ZipArchive archive = new ZipArchive(zipToCreate, ZipArchiveMode.Create))
{
archive.CreateEntryFromFile(filebd, fila);
}
}
Пробовал паузу ставить перед архивацией, не помогло. Може есть варианты архивации не через System.IO?
Источник: Stack Overflow на русском