Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.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# 在dll B中使用dll A中的类型_C#_.net_Sqlite_Dll - Fatal编程技术网

C# 在dll B中使用dll A中的类型

C# 在dll B中使用dll A中的类型,c#,.net,sqlite,dll,C#,.net,Sqlite,Dll,我有以下情况:有一个应用程序,比如App.exe,它加载我创建的dll,我们称它为.dll。dll使用SQLite存储数据,并访问从SQLite.dll引用的方法(比方说)。现在,在A.dll中,如果我声明一个全局SQLiteConnection,那么当App.exe加载我的库时,它会抱怨“无法加载类型A.A”。但是,如果我在构造函数中本地声明它,那么一切看起来都很好 这不是一个大问题,但由于这是一个数据库连接,我希望有一个全局变量,然后在构造函数中建立一个连接,并在代码中使用它。那么,有什么办

我有以下情况:有一个应用程序,比如App.exe,它加载我创建的dll,我们称它为.dll。dll使用SQLite存储数据,并访问从SQLite.dll引用的方法(比方说)。现在,在A.dll中,如果我声明一个全局
SQLiteConnection
,那么当App.exe加载我的库时,它会抱怨“无法加载类型A.A”。但是,如果我在构造函数中本地声明它,那么一切看起来都很好

这不是一个大问题,但由于这是一个数据库连接,我希望有一个全局变量,然后在构造函数中建立一个连接,并在代码中使用它。那么,有什么办法可以解决这个问题吗


PS:正如你可能知道的,我在C#和.NET方面是个笨蛋。如果这是一个愚蠢的问题,我道歉:)。

我认为应用程序在运行时无法找到
SQLite.dll
。它可能与
app.exe
不在同一文件夹中,或者至少与您正在运行的
app.exe
不在同一文件夹中


从Visual Studio中清除解决方案,然后重新生成。检查你的app/bin/debug文件夹,确保那里有一个
SQLite.DLL

如果你有一个从另一个DLL继承的DLL,你必须在第一个DLL中添加对最后一个DLL的引用。你所说的“全局SQLiteConnection”是什么意思?C#没有全局变量。@Tico是的,我已经这样做了,否则它就不会编译了,是吗?@zmbq我的错误术语,我指的是在类中声明的变量,而不是在函数中本地声明的变量。奇怪的是,它确实编译了,但错误出现在运行时app.exe不是我开发的,这是一个现成的应用程序,我正在为它开发插件。我已确保SQLite.dll位于我从.ooh运行app.exe的文件夹中。他们加载插件的方式可能会阻止加载其他DLL。