(用户控件的SQLite)--->无法创建组件“的UserControl1”,System.D

2019-08-05 06:14发布

我使用SQLite的用户控件。 编译并添加到工具盒,通过拖动到一个新的形式,错误消息后,如下所述:

“无法创建组件‘的UserControl1’错误消息如下所示‘System.DllNotFoundException:’无法加载DLL Sqlite.Interop.dll':指定的模块无法找到从HRESULT异常:0x8007007E

我GOOGLE了关于这个问题,我仍然无法得到解决这个问题。 但有趣的部位如果我很难通过引用的形式编码,并创建一个新的控制,用户控制工作。 为什么拖放有这个问题?

还有一个问题:我使用的NuGet安装sqlite的,有2个版本:32位和64位:哪一个我要补充作为参考? 我使用VS2010 SP1极致。 SQLite的v 1.0.83.0。 编译的DLL任何CPU。

Answer 1:

如果你下载正确的二进制SQLite的,然后根据你的项目构建选项复制SQLite.Interop.dll到您的Release或Debug文件夹。



Answer 2:

我觉得这是一个问题,从SQLite的分离,更具体地说,当你尝试拖动从工具箱中的用户控件与没有被发现的DLL交易。 我有同样的问题。 我能够以编程方式通过添加用户控制Controls.Add(myUserControl)和它的工作很好,但我无法从工具箱拖动它。 某些搜索导致我与汉斯帕桑特洞察以下链接:

https://social.msdn.microsoft.com/Forums/en-US/e6ba24f2-4f2d-42bd-b2f2-1e00744e0052/dllimport-throws-systemdllnotfoundexception-in-usercontrol?forum=netfxbcl

要点是,设计者不知道到哪里寻找该DLL的路径。 作为测试,我硬编码内的路径DllImport[DllImport(*full path here*)]我是能够成功地从工具箱拖动用户控件的设计。 (请确保您要添加的用户控件之前添加的完整路径后做了一个构建!)

没有任何重大的测试,看来我当时能够然后取出完全合格的路径和设计师似乎记得在哪里看。 我可以从表单中删除的用户控制和没有问题重新添加。 一旦我关闭Visual Studio和重新打开它,虽然,拖放用户控件从工具箱中再次失败。 希望这些信息可以帮助别人明白发生了什么和/或在一个解决方案正确的方向引导他们。



文章来源: (UserControl with SQLite) ---> Failed to create components 'UserControl1', System.DllNotFound Excpetion, Unable to Load Sqlite.interop.dll