gpt4 book ai didi

c# - SQLite 和 .NET 用户控件

转载 作者:行者123 更新时间:2023-11-30 17:12:50 25 4
gpt4 key购买 nike

我决定在一个小项目中使用 SQLite。但是,我遇到了一个问题。 SQLite 带有 2 个不同的 .dll 文件。我添加了其中一个作为引用。另一个不能添加为引用,因为它“不是有效的程序集或 COM 组件”。不过这并不重要,因为它只需要位于第一个 .dll(已作为引用添加的)可以找到它的文件夹中。所以很自然地我将它复制到构建目录,在我开始使用 UserControls 之前工作正常。

我的用户控件包含通过 View 模型到数据库项的数据绑定(bind)。如果我理解正确,为了在设计器中显示用户控件,它们的构建就像我运行程序一样。问题是当它们在设计器中构建时,也会创建数据绑定(bind),因此会执行一些小的数据库查询。但是,当为设计器构建用户控件并尝试执行这些查询时,我从第一个 .dll(包含的那个)中得到一个 dllnotfoundexception。它找不到第二个。

我认为将第二个 .dll 添加到 GAC 会帮助第一个找到它,但我似乎做不到,因为根据 gacutil“该模块应该包含程序集 list ”。

请问有什么好的方法可以解决吗?我只是愚蠢,忽略了一些明显的事情吗?我试图尽可能清楚地描述问题,如果有不清楚的地方,请询问。

提前致谢。

编辑:澄清一下,当我在设计器模式下打开用户控件时出现的 DllNotFoundException 会导致 visual studio 崩溃。

最佳答案

您可能希望将 sqlite dll 复制到以下位置之一,具体取决于您使用的 VS.NET 版本...

找到设计器装配探针位置的一种方法是

  1. 找到 devenv.exe 文件。
  2. 在记事本中打开devenv.exe.config文件
  3. 在其中寻找入口

     <probing privatePath="PublicAssemblies;PrivateAssemblies"/>
  4. 将这些 sqlite dll 复制到这些目录之一。

  5. 重新启动 Visual Studio。

希望这对您有所帮助。

关于c# - SQLite 和 .NET 用户控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10352134/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com