gpt4 book ai didi

c# - 部署 C# SQLite 应用程序

转载 作者:行者123 更新时间:2023-12-02 10:01:21 27 4
gpt4 key购买 nike

我有使用 SQLite 的 C# 应用程序。它已经可以工作了,但我一直在玩它,但它不再工作了,我不知道出了什么问题:-/

它编译正常,但我遇到问题“无法加载‘System.Data.SQLite.dll’或其依赖项之一(在非开发计算机上)。这是一项在安装过程中启动的服务,因此安装由于此错误而失败.

所以我添加了System.data.sqlite引用。我必须注意解决方案资源管理器中不再有“x86”和“x64”:-/

包管理器控制台显示它已安装:

PM> Install-Package System.Data.Sqlite
Attempting to resolve dependency 'System.Data.SQLite.Core (≥ 1.0.94.0)'.
Attempting to resolve dependency 'System.Data.SQLite.Linq (≥ 1.0.94.1)'.
Attempting to resolve dependency 'System.Data.SQLite.EF6 (≥ 1.0.94.0)'.
Attempting to resolve dependency 'EntityFramework (≥ 6.1.1.0)'.
'System.Data.SQLite 1.0.94.1' already installed.
QLog already has a reference to 'System.Data.SQLite 1.0.94.1'.

PM>

我将其添加到 WXS:

(...)
<Component Id="System.Data.SQLite.dll" Guid="{BCA7E1B7-CA34-4B1C-829F-29D4F135912E}">
<File Id="System.Data.SQLite.dll" Source="..\QLog\bin\x86\Release\System.Data.SQLite.dll" Vital="yes" KeyPath="yes" DiskId="1"/>
</Component>


<Directory Id='dir_x86' Name='x86'>
<Component Id='x86' Guid='{C2869DAC-B3CC-4E87-AEF2-74F76025CFD9}'>
<CreateFolder />
<File Id='x86' Name='SQLite.Interop.dll' Source='..\QLog\packages\System.Data.SQLite.Core.1.0.94.0\build\net45\x86\SQLite.Interop.dll' />
</Component>
</Directory>
<Directory Id='dir_x64' Name='x64'>
<Component Id='x64' Guid='{452F3E46-B1E6-4A5A-B2CB-C7DA9B7EAB51}'>
<CreateFolder />
<File Id='x64' Name='SQLite.Interop.dll' Source='..\QLog\packages\System.Data.SQLite.Core.1.0.94.0\build\net45\x64\SQLite.Interop.dll' />
</Component>
</Directory>
(...)

解决方案资源管理器中没有像教程中那样的“x64”和“x86”文件夹,但我可以在“引用”下看到 system.data.sqlite(图像声誉不够)。

我什至尝试将 sqlite-netfx45 安装到部署计算机,但它也没有帮助。

有什么想法吗? :-/

最佳答案

I must note there are no "x86" and "x64" anymore in solution explorer :-/

应用程序部署如下所示:

  • \App.exe(可选,仅限托管应用程序可执行程序集)
  • \App.dll(可选,仅托管应用程序库程序集)
  • \System.Data.SQLite.dll(必需,仅托管核心程序集)
  • \System.Data.SQLite.Linq.dll(可选,仅托管 LINQ 程序集)
  • \System.Data.SQLite.EF6.dll(可选,仅限托管 EF6 程序集)
  • \x86\SQLite.Interop.dll(必需,x86 native 互操作程序集)
  • \x64\SQLite.Interop.dll(必需,x64 native 互操作程序集)

关于c# - 部署 C# SQLite 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26017558/

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