C#使用SqlCipher以及使用Costura.Fody合并DLL进EXE

本文介绍了如何在C# Windows桌面应用中使用SqlCipher加密SQLite数据库,以及通过Costura.Fody将DLL合并到EXE文件中。在.NET Framework 4.6.2环境下,详细阐述了设置项目属性以支持长路径,安装并配置SqlCipher和Costura.Fody的过程,并解决了因首选32位导致的问题。同时,指出了在使用Costura.Fody时需要注意排除特定DLL以避免运行时错误。

创建C# Windows 桌面 窗体应用

在这里插入图片描述
框架.NET Framework 4.6.2
在这里插入图片描述

使程序支持长路径

4.6.2以后才System.IO模块才开始支持长路径
参看:
https://www.cnblogs.com/zerodai/p/10224946.html#idx_13
https://devblogs.microsoft.com/dotnet/announcing-net-framework-4-6-2/

默认项目属性的BUG

项目属性->生成->下面这个勾(首选32位)一定要去掉 一定要去掉 一定要去掉 这是个VS默认设置的BUG 不去掉这个 简单的获取文件大小就会出现问题
在这里插入图片描述
在勾选上首选32位后,测试如下代码:

        private void button1_Click(object sender, EventArgs e)
        {
   
   
            System.IO.FileInfo fi = new System.IO.FileInfo(@"c:\windows\regedit.exe");
            MessageBox.Show(Convert.ToString(fi.Length));
        }

在这里插入图片描述
实际大小为 357888:
在这里插入图片描述
去除首选32位后就正常了
在这里插入图片描述

使用NuGet

在这里插入图片描述

SqlCipher的使用

用途:加密SQLite数据库

加载方法:
搜索SqlCipher 发现有3个相关

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
区别暂不清楚,目前使用作者为官方SQLite-net
URL:https://github.com/praeclarum/sqlite-net
加载后会自动引入一大堆相关的DLL
在这里插入图片描述
SQLitePCLRaw.lib.e_sqlcipher.2.0.3
System.Buffers.4.4.0
System.Numerics.Vectors.4.4.0
System.Runtime.CompilerServices.Unsafe.4.5.2
System.Memory.4.5.

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值