将 SQLite.Interop.dll 嵌入到一个 exe 中

原文链接:https://old.idmedia.no/general/including-sqlite-interop-dll-into-your-c-project/

添加所有 dll 文件到一个 exe 中

Nuget 中搜索 Costura.Fody,安装成功后,重新构建程序,所有的 dll 就会自动打包到 exe中,但是这个方法没法打包 SQLite.Interop.dll 到 exe 中,因此得用接下来的方法

将 SQLite.Interop.dll 嵌入到一个 exe 中

  1. 在项目下新建两个文件夹 costura32costura64,分别复制对应的 SQLite.Interop.dll到两个文件夹中

在这里插入图片描述

  1. 将这两个 dll 分别改为 嵌入的资源(Embedded Resource)

在这里插入图片描述

  1. 在项目下新建一个文件:FodyWeavers.xml,并输入以下内容
<?xml version="1.0" encoding="utf-8"?>
<Weavers>
 <Costura>
 <Unmanaged32Assemblies>
 SQLite.Interop
 </Unmanaged32Assemblies>
 <Unmanaged64Assemblies>
 SQLite.Interop
 </Unmanaged64Assemblies>
 </Costura>
</Weavers>
  1. 重新构造项目,虽然还会生成 x64 和 x86 文件夹,删掉也能正常运行