Finally, the wrapped script could create an instance of GRPCRemoteClient.
These were necessary.
+ AssemblyResolve delegate.
+ Return null when an exception is thrown in AssemblyResolve delegate.
+ Fully qualified assembly name to instantiate GRPCRemoteClient.
These were not necessary.
+ addToPath $dll_dir
+ Explicitly loading the following dependent assemblies.
+ Grpc.Core.dll
+ System.Memory.dll
+ System.Runtime.CompilerServices.Unsafe.dll
Really, thank you very much!
I can proceed to integrate this code to my real application.
### Rewrite of assemblyResolve
```tcl
proc assemblyResolve { sender e } {
global dll_dir
if {[catch {
set eName [$e Name]
if {![regexp {^([^,]+),.+$} $eName -> name]} {
set name $eName
}
log "name = $name"
set dll_path [file join $dll_dir $name.dll]
log "dll_path=$dll_path"
if {[file exists $dll_path]} {
set type [load_type $dll_path]
log "type=$type"
} else {
return AssemblyNotFound
}
} err]} {
log $err
return null
} else {
return $type
}
}
```