Professional Communication
Software Development Tools

OPC Foundation member and certified logos

Online Forums

Technical support is provided through Support Forums below. Anybody can view them; you need to Register/Login to our site (see links in upper right corner) in order to Post questions or issues. You do not have to own a commercial license in order to use the OPC Labs supportOur team is actively monitoring the forums, and provides replies as soon as possible.

Please read Rules for forum posts before reporting your issue or asking a question. OPC Labs team is actively monitoring the forums, and replies as soon as possible.

Various technical information can also be found in our Knowledge Base. For your convenience, we have also assembled a Frequently Asked Questions page.

Do not use the Contact page for technical issues.

QuickOPC crashing in library under WPF environment.

More
22 May 2026 14:02 #14639 by support
Hello,
I was able to reproduce the issue with your example project.

The problem cause, however, is different from what you have suggested. It is not the Microsoft.Extensions.Logging.Debug package.

The problem is caused by the fact that you project includes an unnecessary reference to the OPCFoundation.NetStandard.Opc.Ua.Client package. That's definitely not allowed. Since QuickOPC client-server UA parts are based on the modified version of the UA-.NETStandard stack/SDK from OPC Foundation, including this package (in *any* version) causes assembly name conflicts, and incorrect assembly versions can then be loaded.

Remove the package reference to OPCFoundation.NetStandard.Opc.Ua.Client to fix the problem.

Best regards
 

Please Log in or Create an account to join the conversation.

More
21 May 2026 08:07 #14638 by support
Hello,

thank you for taking the extra step in troubleshooting this. I will look into what precisely is going wrong, and report here.

Best regards

Please Log in or Create an account to join the conversation.

More
19 May 2026 15:17 #14637 by Nicholas
In building a minimal reproducible example, I learned it happens when Microsoft.Extensions.Logging.Debug is included as a top-level package. There may be other factors. The package still meets the requirements of your library (see photo). Minimally reproducible solution included.

Thanks,
Nicholas Louks
Attachments:

Please Log in or Create an account to join the conversation.

More
19 May 2026 04:49 #14636 by support
Thank you.

Please zip your project (can be without the bin/obj folders), and post it here. 

Best regards

Please Log in or Create an account to join the conversation.

More
18 May 2026 14:19 #14635 by Nicholas
Yes .NET 8. I even modified the sample project to remove .NET Framework in order to make sure it was using the same code base.

Please Log in or Create an account to join the conversation.

More
18 May 2026 05:44 #14633 by support
Hello.

Thank you for reporting this. So far I was unable to reproduce the issue. 
Which .NET runtime are you targeting? (I used .NET 8.0).

The problem may have to do with assembly versions loaded - being different from what was expected. For this reason, it is not so much the source VB.NET code that is of interest, but rather the project file where any additional assembly or package references can be listed. Please post here the .vbproj file, or ideally, the whole project (zipped).

Best regards
 

Please Log in or Create an account to join the conversation.

More
15 May 2026 16:35 #14632 by Nicholas
Hello, I am working with your demo package in order to evaluate QuickOPC for use in an upcoming project.

I seem to be having an issue where the same block of code works in the console version, but fails in WPF. I have modified the  QuickOPC example  to the attached *.vb file.

On the console, it works as expected. In WPF, fails on the same line (line 48):
Dim attributeData1 As UAAttributeData = client.Read(endpointDescriptor, "ns=5;b=AQAAAKbhKnGK9zM6uvotdobvYEeM925Ev8cDYZvxJXqd0DR1nfYzOqr2MmaM7TRHneI0cek=")

In the console version, I only log one exception thrown the first time (connecting) to the OPCUA server, but it is caught internally and everything works as expected:
Exception thrown: 'System.IO.FileNotFoundException' in System.Private.CoreLib.dll


In my WPF project I get the following logs before catching an exception on executing the above line. I have tried running it in Application.vb and attached to a slow timer. Both render the same error messages:
Exception thrown: 'System.IO.IOException' in System.Console.dll
Exception thrown: 'System.IO.FileNotFoundException' in System.Private.CoreLib.dll
Exception thrown: 'System.MissingMethodException' in OpcLabs.EasyOpcUACore.dll
OpcLabs.EventTracing.LogEntries Error: 1 : LogEntry("OPCLabs-UAClientEngine",Error,0,1). INTERNAL ERROR. The OPC-UA engine might be in an unstable state.    An exception of type "System.MissingMethodException" from source "OpcLabs.EasyOpcUACore" has occurred in OPC-UA SDK action 'Session.Read'. The exception descend follows. (0) System.MissingMethodException OpcLabs.EasyOpcUACore (ValidateDiagnosticInfos) -> Method not found: 'Void Opc.Ua.ClientBase.ValidateDiagnosticInfos(Opc.Ua.DiagnosticInfoCollection, System.Collections.IList)'.    at OpcLabs.EasyOpc.UA.Sdk.Shims.ClientBaseShim.ValidateDiagnosticInfos(DiagnosticInfoCollection response, IList request)    at OpcLabs.EasyOpc.UA.Toolkit.Client.UAStandardVirtualSession.ValidateSdkResponse(IList sdkResultCollection, IList sdkRequestList, DiagnosticInfoCollection sdkDiagnosticInfoCollection, Boolean allowFewerResponses, Boolean allowMoreResponses)    at OpcLabs.EasyOpc.UA.Toolkit.Client.UAStandardVirtualSession.<>c__DisplayClass40_0.<Read>b__2()    at OpcLabs.Eas
yOpc.UA.Toolkit.UAEngineBase.PerformSdkAction(UASdkCallType callType, Func`1 usingFunction, String name, Action sdkAction) 
Exception thrown: 'System.Security.SecurityException' in Microsoft.Win32.Registry.dll
Exception thrown: 'System.Security.SecurityException' in Microsoft.Win32.Registry.dll
Exception thrown: 'System.Security.SecurityException' in System.Diagnostics.EventLog.dll
OpcLabs.EasyOpc.UA.UAEngineBase Critical: 0 : Error "The source OPCLabs-UAClientEngine was not found on computer ., but some or all event logs could not be searched.  To create the source, you need permission to read all event logs to make sure that the new source name is unique.  Inaccessible logs: Security, State." writing 'Error' entry from source 'OPCLabs-UAClientEngine' to the event log: Internal error (only first occurrence is logged), process "IdealVacPVDSuite" Id 25912, current application domain "IdealVacPVDSuite" Id 1, entry assembly "IdealVacPVDSuite, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null": An exception of type "System.MissingMethodException" from source "OpcLabs.EasyOpcUACore" has occurred in OPC-UA SDK action 'Session.Read'. The exception descend follows.
(0) System.MissingMethodException OpcLabs.EasyOpcUACore (ValidateDiagnosticInfos) -> Method not found: 'Void Opc.Ua.ClientBase.ValidateDiagnosticInfos(Opc.Ua.DiagnosticInfoCollection, System.Collections.IList)'.
   at OpcLabs.EasyOpc.UA.Sdk.Shims.ClientBaseShim.ValidateDiagnosticInfos(DiagnosticInfoCollection response, IList request)
   at OpcLabs.EasyOpc.UA.Toolkit.Client.UAStandardVirtualSession.ValidateSdkResponse(IList sdkResultCollection, IList sdkRequestList, DiagnosticInfoCollection sdkDiagnosticInfoCollection, Boolean allowFewerResponses, Boolean allowMoreResponses)
   at OpcLabs.EasyOpc.UA.Toolkit.Client.UAStandardVirtualSession.<>c__DisplayClass40_0.<Read>b__2()
   at OpcLabs.EasyOpc.UA.Toolkit.UAEngineBase.PerformSdkAction(UASdkCallType callType, Func`1 usingFunction, String name, Action sdkAction)

Exception thrown: 'System.MissingMethodException' in OpcLabs.EasyOpcUACore.dll
OpcLabs.EventTracing.LogEntries Error: 1 : LogEntry("OPCLabs-UAClientEngine",Error,0,1). INTERNAL ERROR. The OPC-UA engine might be in an unstable state.    An exception of type "System.MissingMethodException" from source "OpcLabs.EasyOpcUACore" has occurred in OPC-UA SDK action 'Session.Read'. The exception descend follows. (0) System.MissingMethodException OpcLabs.EasyOpcUACore (ValidateDiagnosticInfos) -> Method not found: 'Void Opc.Ua.ClientBase.ValidateDiagnosticInfos(Opc.Ua.DiagnosticInfoCollection, System.Collections.IList)'.    at OpcLabs.EasyOpc.UA.Sdk.Shims.ClientBaseShim.ValidateDiagnosticInfos(DiagnosticInfoCollection response, IList request)    at OpcLabs.EasyOpc.UA.Toolkit.Client.UAStandardVirtualSession.ValidateSdkResponse(IList sdkResultCollection, IList sdkRequestList, DiagnosticInfoCollection sdkDiagnosticInfoCollection, Boolean allowFewerResponses, Boolean allowMoreResponses)    at OpcLabs.EasyOpc.UA.Toolkit.Client.UAStandardVirtualSession.<>c__DisplayClass40_0.<Read>b__2()    at OpcLabs.Eas
yOpc.UA.Toolkit.UAEngineBase.PerformSdkAction(UASdkCallType callType, Func`1 usingFunction, String name, Action sdkAction) 
Exception thrown: 'System.MissingMethodException' in OpcLabs.EasyOpcUACore.dll
OpcLabs.EventTracing.LogEntries Error: 1 : LogEntry("OPCLabs-UAClientEngine",Error,0,1). INTERNAL ERROR. The OPC-UA engine might be in an unstable state.    An exception of type "System.MissingMethodException" from source "OpcLabs.EasyOpcUACore" has occurred in OPC-UA SDK action 'Session.Read'. The exception descend follows. (0) System.MissingMethodException OpcLabs.EasyOpcUACore (ValidateDiagnosticInfos) -> Method not found: 'Void Opc.Ua.ClientBase.ValidateDiagnosticInfos(Opc.Ua.DiagnosticInfoCollection, System.Collections.IList)'.    at OpcLabs.EasyOpc.UA.Sdk.Shims.ClientBaseShim.ValidateDiagnosticInfos(DiagnosticInfoCollection response, IList request)    at OpcLabs.EasyOpc.UA.Toolkit.Client.UAStandardVirtualSession.ValidateSdkResponse(IList sdkResultCollection, IList sdkRequestList, DiagnosticInfoCollection sdkDiagnosticInfoCollection, Boolean allowFewerResponses, Boolean allowMoreResponses)    at OpcLabs.EasyOpc.UA.Toolkit.Client.UAStandardVirtualSession.<>c__DisplayClass40_0.<Read>b__2()    at OpcLabs.Eas
yOpc.UA.Toolkit.UAEngineBase.PerformSdkAction(UASdkCallType callType, Func`1 usingFunction, String name, Action sdkAction) 
Exception thrown: 'OpcLabs.EasyOpc.UA.OperationModel.UAException' in OpcLabs.EasyOpcUAPrimitives.dll
(^This is the one I catch that has similar information to the above data)

The first two exceptions don't fire after subsequent requests.

As far as NuGet packages, I have verified the libraries are as close as I can make them. (See attached picture) I have even removed the WPF library but the behavior does not change.

Please feel free to clean up my post as required. Additionally, I haven't been able to locate WPF example code despite seeing it being mentioned in the documentation. If it is some sort of behavior or setting that I need to setup beforehand that would be great!

Thank you for your help,
Nicholas Louks





 
Attachments:

Please Log in or Create an account to join the conversation.

Moderators: supportvaclav.zaloudek
Time to create page: 0.146 seconds