Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SQLite正在阻止WinForm应用程序在使用ClickOnce部署后启动_C#_Visual Studio_Sqlite - Fatal编程技术网

C# SQLite正在阻止WinForm应用程序在使用ClickOnce部署后启动

C# SQLite正在阻止WinForm应用程序在使用ClickOnce部署后启动,c#,visual-studio,sqlite,C#,Visual Studio,Sqlite,我有一个基于组件的应用程序,用c#中的visual studio构建。有一个UI和一个数据组件。 数据组件访问sqlite数据库。在IDE中,我可以启动程序,这样UI就会出现,一切正常。但是,如果我想使用ClickOnce部署应用程序,安装是可行的,但应用程序不会移动。日志文件中也没有错误 我尝试了几种方法,发现它必须与SQLite有关,因为如果我在部署应用程序时不使用与数据库的连接,它就会工作 可能是SQLite.Interop.dll有问题,因为当我编写unittests时,它们也无法加载此

我有一个基于组件的应用程序,用c#中的visual studio构建。有一个UI和一个数据组件。 数据组件访问sqlite数据库。在IDE中,我可以启动程序,这样UI就会出现,一切正常。但是,如果我想使用ClickOnce部署应用程序,安装是可行的,但应用程序不会移动。日志文件中也没有错误

我尝试了几种方法,发现它必须与SQLite有关,因为如果我在部署应用程序时不使用与数据库的连接,它就会工作

可能是SQLite.Interop.dll有问题,因为当我编写unittests时,它们也无法加载此dll。我必须手动将其放入正确的unittest项目文件夹中。使用NuGet安装interop.dll也会引发错误

对于代码,我没有什么特别的。 这里有一个简短的例子。很抱歉使用了德语名称

internal class Daten : IDBAnforderungen
{
    private SQLiteConnection _conn;

    public Daten()
    {
        _conn = new SQLiteConnection("Data Source=c:/Datenbank/mydb.sqlite; Version = 3;");
    }
编辑:

在这个线程中有一个异常。但我一开始什么都没有

编辑:


我的解决方案就是,切换到MySQL。所以当时没有问题

尝试包装_conn=new。。。在一个try-catch块的内部。。。很有可能它会在那里爆炸,并从任何伐木中坠落。我还想说在catch中添加一个日志语句。可能是的副本。虽然不是专门针对ClickOnce,但我怀疑原因是相同的——缺少SQLite DLL。安装完成后,请确保将它们显式添加到ClickOnce中,是否存在互操作DLL和C:\Datenbank\mydb.sqlite?@TonyAbrams我尝试过,没有任何更改。@MickyD我该怎么做?我刚刚尝试将相同的system.data.sqlite包安装到main项目,这是我与它的依赖项一起部署的项目。我不确定它是关于interop.dll的