При отладте я могу сделать успешное соединение с базой данных SQLite. Но после создания приложения .NET SQLite испытывает проблемы с использованием System.io.path.combine :
at System.IO.Path.Combine(String path1, String path2)
at System.Data.SQLite.SQLiteConnection..ctor(String connectionString, Boolean parseViaFramework)
at LDF_DetectionTool.DatabaseConnector.GetApplicationsList() in SomePath\DatabaseConnector.cs:line 23
< /code>
Код: < /p>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SQLite;
using System.Data;
namespace LDF_DetectionTool
{
internal class DatabaseConnector
{
public List GetApplicationsList()
{
string databaseFileName = "Databases\\LDF_DETECTION_TOOL_DATA.db";
string databaseFilePath = AppDomain.CurrentDomain.BaseDirectory + databaseFileName;
string connectionString = "Data Source=" + databaseFilePath;
List applicationList = new List();
try
{
using (SQLiteConnection connection = new SQLiteConnection(connectionString, true))
{
connection.Open();
string query = "SELECT * FROM APPLICATIONS";
using (SQLiteCommand command = new SQLiteCommand(query, connection))
{
using (SQLiteDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
applicationList.Add(reader.GetString(0));
}
}
}
connection.Close();
}
}
catch (Exception ex)
{
MessageBox.Show(connectionString);
MessageBox.Show(ex.Message);
MessageBox.Show(ex.StackTrace);
}
return applicationList;
}
< /code>
Сообщение об исключении: < /p>
Значение не может быть нулевым. (Параметр 'path1') < /p>
< /blockquote>
Ни одна из переменных не является нулевой (я могу отображать их в клетках Message, даже после строительства). После сборки есть что -то не так, что работает при отладке. База данных находится в правильном месте.
Я попытался переустановить пакет Nuget, удалив собственное использование Path.combine
(уже пройдене выше), восстанавливаясь несколько раз, перезагрузите Visual Studio и снова создайте и устанавливает Parseviaframework на TRUE и FALSE (
При отладте я могу сделать успешное соединение с базой данных SQLite. Но после создания приложения .NET SQLite испытывает проблемы с использованием System.io.path.combine : [code]at System.IO.Path.Combine(String path1, String path2) at System.Data.SQLite.SQLiteConnection..ctor(String connectionString, Boolean parseViaFramework) at LDF_DetectionTool.DatabaseConnector.GetApplicationsList() in SomePath\DatabaseConnector.cs:line 23 < /code> Код: < /p> using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data.SQLite; using System.Data;
namespace LDF_DetectionTool { internal class DatabaseConnector {
return applicationList; } < /code> Сообщение об исключении: < /p>
Значение не может быть нулевым. (Параметр 'path1') < /p> < /blockquote> Ни одна из переменных не является нулевой (я могу отображать их в клетках Message, даже после строительства). После сборки есть что -то не так, что работает при отладке. База данных находится в правильном месте. Я попытался переустановить пакет Nuget, удалив собственное использование Path.combine [/code] (уже пройдене выше), восстанавливаясь несколько раз, перезагрузите Visual Studio и снова создайте и устанавливает Parseviaframework на TRUE и FALSE ([code]new SQLiteConnection(connectionString, false)[/code] в строке 23).