在编译页面的“高级编译选项”里把配置改为net.framework2.0,同时在发布页面的"系统必备"中把net.framework 3.5改成2.0的,在引用页面中把所有2.0以上版本的引用删除,这样打包的文件会缩小成30M
专注于为中小企业提供成都网站建设、网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业栖霞免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千余家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
只打包程序的DLL,用clickonce技术肯定是不能的,也许新建一个安装项目,改用windows installer技术可以做到,我没试过,不确定,但即使是这样,也不会省太多空间,因为最基本的system.dll就有3M左右,还有system.drawing.dll……很多很多。
窗体上添加一个按钮,代码如下:
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Button1.Text = "稍等!"
Button1.Enabled = False
Dim MyFolder As String = "C:\Windows"
Dim MyDir As New System.IO.DirectoryInfo(MyFolder)
Dim MyInfo As String = MyFolder + "文件夹的大小是:" + CalculateDirectorySize(MyDir, True).ToString() + "字节。"
MessageBox.Show(MyInfo, "信息提示", _
MessageBoxButtons.OK, MessageBoxIcon.Information)
Button1.Text = "开始"
Button1.Enabled = True
End Sub
Public Shared Function CalculateDirectorySize(ByVal MyDirectory As System.IO.DirectoryInfo, ByVal IsSubDirectories As Boolean) As Long
Dim MySize As Long = 0
'检查包含的所有文件
Dim MyFiles() As System.IO.FileInfo = MyDirectory.GetFiles()
For Each MyFile As System.IO.FileInfo In MyFiles
MySize += MyFile.Length
Next
'检查包含的所有子文件夹
If (IsSubDirectories) Then
Dim MyDirs() As System.IO.DirectoryInfo = MyDirectory.GetDirectories()
For Each MyDir As System.IO.DirectoryInfo In MyDirs
MySize += CalculateDirectorySize(MyDir, True)
Next
End If
Return MySize
End Function
End Class
FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
FilePut(1, New Byte(9999) {}) '也可以用字节数组,这里用了空数组
FileClose(1)
你实例化一个文件对象,就可以获取这个文件的相关属性了,VB.NET实例,以你的文件为例:
Dim sourcefileinfo As New FileInfo(“ c:\1.txt”) '定义并实例化FileInfo对象。length就是它的大小!
label1.Text = "文件大小为: " sourcefileinfo.Length "字节"
首先引入System.IO命名空间(在代码文件的最上方)
Imports System.IO
然后在需要用到的地方:
Dim mp3fileinfo As New FileInfo(mp3文件完整路径字符串)
'mp3fileinfo.Length就是文件的大小,以B(字节)为单位,除以1024得到KB,再除以1024得到MB
把结果用字节集变量,再其字节集数据,长整数就行了,多大都能取