VB.NET如何把引用的DLL打包到exe里面制作单文件软件

第一步:设置dll引用属性如下图

第二步,将dll作为项目资源添加进来

第三步,最为重要,添加如下代码到form1开始的地方

Public Class Form1

    Public Sub New()
        ''加载DLL到exe的事件
        AddHandler AppDomain.CurrentDomain.AssemblyResolve, New ResolveEventHandler(AddressOf CurrentDomain_AssemblyResolve)
        InitializeComponent()
    End Sub
  
    
 ''' <summary>
  ''' 把DLL加载到EXE中
  ''' </summary>
  ''' <param name="sender"></param>
  ''' <param name="args"></param>
  ''' <returns></returns>
  Private Function CurrentDomain_AssemblyResolve(sender As Object, args As ResolveEventArgs) As System.Reflection.Assembly
    Dim dllName As String = If(args.Name.Contains(","), args.Name.Substring(0, args.Name.IndexOf(","c)), args.Name.Replace(".dll", ""))
    dllName = dllName.Replace(".", "_")
    If dllName.EndsWith("_resources") Then
      Return Nothing
    End If
    Dim rm As New System.Resources.ResourceManager([GetType].Namespace & ".Resources", System.Reflection.Assembly.GetExecutingAssembly())
    Dim bytes As Byte() = DirectCast(rm.GetObject(dllName), Byte())
    Return System.Reflection.Assembly.Load(bytes)
  End Function
'以下为项目正式的代码
End Class
未经允许不得转载:桔子雨工作室 » VB.NET如何把引用的DLL打包到exe里面制作单文件软件
分享到: 生成海报
一个数字化服务提供商

承接外贸建站,软件APP开发

部分产品联系我们
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

切换登录

注册

微信扫一扫关注
如已关注,请回复“登录”二字获取验证码