Visual Studio 2008项目打包问题——项目太大C盘空间不够怎么办?

当面临Visual Studio项目打包时因大数据库导致C盘空间不足的问题,可以采用数据库分割、压缩及合并策略。通过7-zip压缩数据库文件,然后在安装过程中使用C#代码进行文件分割、合并,以减少对C盘空间的需求和提高打包速度。实践证明,分割文件为100M左右能有效平衡合并速度和打包效率。
摘要由CSDN通过智能技术生成

  很多人在项目打包过程中都会遇到这样一个问题,数据库或者某个文件太大(几百兆甚至几个G),打包时Visual Studio会提示C盘存储空间不够。通常情况下,我们会选择采用分区软件重新分配给C盘更多的空间,然而更多的情况是尽管你找了一个C盘拥有200G的剩余空间的电脑也无法完成一个包含800M数据库的项目部署,即便解决了空间问题,打包速度也是奇慢无比。这时,我们应该分析原因并找出解决方案。

  下面是我最近刚解决的一个问题:

  我们要对一个Winform项目打包,本来项目本身只有20M左右,可是因为它需要一个4G多的盘大数据库作支持。于是,我们将数据库(SQLExpress版本)分为三个库,分别部署在三个项目中,最后通过连接程序将这三个项目连接起来完成软件的安装。

  可是数据库实在太大了,我们对三个数据库分别用7-zip软件极限压缩,最终最大的数据库大概剩下800M的样子,最小的也有300M。

  我们尝试着用一个C盘空余两为80G的电脑对其打包,结果提示C盘存储空间不够;我们没有放弃,找来一台250G硬盘的电脑,采用分区软件合并成一个分区,再打包,一分钟后依然显示C盘存储空间不够。这就郁闷了,咋办呢?总不见得整来一台500G的电脑吧,再说能不能打起来还是问题呢。

  我们想到既然是因为数据库(这时压缩后变成ZIP格式的了)太大,那么我们能不能将他们切割成几份打包,到时候写个程序在安装软件的时候再给它合并起来呢?

  经过多次试验,证明了我们的想法。可是切割多大为好呢?同样经过多次试验,我们的数据库是800M,这时切割的文件每个100M是最佳的,因为我们必须考虑到它的合并速度(这将影响到软件的安装速度)。

  这样一来,只需要将原来的800M的数据库分割成8份,打包就能够轻易完成(C盘剩余20G时打包也只需要20多分钟)!

  由于数据库需要在软件安装的过程中自动附加,这时就需要将分割的文件合并起来再解压。我们采用了Split技术以及网络上的C#解压组件(ICSharpZipLib.DLL)。

  下面是我的文件分割和合并代码:

分割方法:

  private void split(int size,string dir)
        {
            int iFileSize = size * 1024*1024;
            //根据选择来设定分割的小文件的大小
            if (Directory.Exists(dir))
                Directory.Delete(dir, true);
            //如果计算机存在存放分割文件的目录,则全部删除此目录所有文件
            else
                Directory.CreateDirectory(dir);
            //反之则在计算机创建目录
            FileStream SplitFileStream = new FileStream(

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值