Thank you very much.
I didn't notice that I was using .NET Framework 2.0 version of Eagle and Garuda.
When I replaced both with Beta 50 targeting .NET Framework 4.0, class loading got successful.
```
Eagle 1.0.8192.54321 trusted genuine official stable beta {Fire Dragon Series, Beta 50} NetFx40 Release {Tcl 8.4.21} {2022.05.06T21:42:00.000 +0900} 48b99035ca39c1100f84abd801d0309f6ce25106 {2022-05-26 21:44:39 UTC} {Microsoft.NET 4.0.30319.42000 [4.8.4515.0 built by: NET48REL1LAST_C] 528372} {Windows NT} intel
Garuda 1.0 48b99035ca39c1100f84abd801d0309f6ce25106 {2022-05-26 21:44:39 UTC}
```
One issue left might be specific to the GUI which I was going to automate. So, I'm not sure if I can ask of your help.
According to Inspect.exe, this button supports InvokePattern. But when I try GetCurrentPattern, it throws System.InvalidOperationException: Unsupported Pattern.
Do you think it has something to do with the usage of eagle script?
```
How found: Selected from tree...
Name: "Open the Sample Window"
ControlType: UIA_ButtonControlTypeId (0xC350)
LocalizedControlType: "button"
:
IsInvokePatternAvailable: true
```
Test script.
```
package require Garuda
puts [eagle version]
puts [garuda packageid]
eagle {
object load UIAutomationClient
object load UIAutomationTypes
object load UIAutomationProvider
}
eagle {
set assembly [object load -alias UIAutomationClientsideProviders]
object import System.Windows.Automation
object invoke ClientSettings RegisterClientSideProviderAssembly [$assembly GetName]
}
eagle {
set prop(aid) [object invoke AutomationElement AutomationIdProperty]
set prop(name) [object invoke AutomationElement NameProperty]
set patt(invoke) [object invoke InvokePattern Pattern]
}
eagle {
set elem(root) [object invoke -alias AutomationElement RootElement]
}
eagle {
set cond(sample) [object create PropertyCondition $prop(name) "Open the Sample Window"]
set elem(sample) [$elem(root) -alias FindFirst Descendants $cond(sample)]
[$elem(sample) -alias GetCurrentPattern $patt(invoke)] Invoke
}
```
The line of error and the stack trace.
```
eagle {$elem(sample) -alias GetCurrentPattern $patt(invoke)}
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidOperationException: Unsupported Pattern.
at System.Windows.Automation.AutomationElement.GetCurrentPattern(AutomationPattern pattern)
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at Eagle._Commands.Object.Execute(Interpreter interpreter, IClientData clientData, ArgumentList arguments, Result& result)
```