Merge branch 'main' into main
This commit is contained in:
@@ -96,6 +96,12 @@ Public Class Application
|
||||
End If
|
||||
'动态 DLL 调用
|
||||
AddHandler AppDomain.CurrentDomain.AssemblyResolve, AddressOf AssemblyResolve
|
||||
SetDllDirectory(Path & "PCL\")
|
||||
If Is32BitSystem Then
|
||||
File.WriteAllBytes(Path & "PCL\libwebp.dll", GetResources("libwebp32"))
|
||||
Else
|
||||
File.WriteAllBytes(Path & "PCL\libwebp.dll", GetResources("libwebp64"))
|
||||
End If
|
||||
'日志初始化
|
||||
LogStart()
|
||||
'添加日志
|
||||
@@ -171,9 +177,11 @@ Public Class Application
|
||||
Private Shared AssemblyNAudio As Assembly
|
||||
Private Shared AssemblyJson As Assembly
|
||||
Private Shared AssemblyDialog As Assembly
|
||||
Private Shared AssemblyWebp As Assembly
|
||||
Private Shared ReadOnly AssemblyNAudioLock As New Object
|
||||
Private Shared ReadOnly AssemblyJsonLock As New Object
|
||||
Private Shared ReadOnly AssemblyDialogLock As New Object
|
||||
Private Shared ReadOnly AssemblyWebpLock As New Object
|
||||
Public Shared Function AssemblyResolve(sender As Object, args As ResolveEventArgs) As Assembly
|
||||
If args.Name.StartsWithF("NAudio") Then
|
||||
SyncLock AssemblyNAudioLock
|
||||
@@ -199,6 +207,14 @@ Public Class Application
|
||||
End If
|
||||
Return AssemblyDialog
|
||||
End SyncLock
|
||||
ElseIf args.Name.StartsWithF("Imazen.WebP") Then
|
||||
SyncLock AssemblyWebpLock
|
||||
If AssemblyWebp Is Nothing Then
|
||||
Log("[Start] 加载 DLL:Imazen.WebP")
|
||||
AssemblyWebp = Assembly.Load(GetResources("WebP"))
|
||||
End If
|
||||
Return AssemblyWebp
|
||||
End SyncLock
|
||||
Else
|
||||
Return Nothing
|
||||
End If
|
||||
|
||||
Reference in New Issue
Block a user