What's new in QuickOPC 2018.3
From OPC Labs Knowledge Base
See also: Versions; Previous version: What's new in QuickOPC 2018.2
Internal version number: 5.54
Key changes:
- Support for .NET Standard
Targeting
- QuickOPC now also targets .NET Standard. Supported runtime currently is .NET Core (2.0.5, 2.0.6, 2.0.7 or 2.1.2) on Microsoft Windows and Linux, although other runtimes and operating systems may work as well. Only OPC UA and OPC XML-DA specifications are supported when targeting .NET Standard. See Development Platforms in the documentation, for a table of functionalities available on each platform. In newly created licenses, the .NET Standard development platform is available in Professional and Ultimate editions.
- Development tools: For .NET Standard development, besides Visual Studio 2017, .NET Core CLI tools, JetBrains Rider and Visual Studio Code (with C# extension) are among the intended primary development tools.
- .NET runtimes: Removed .NET Framework 4.5.2 from the list of supported .NET runtimes (use .NET Framework 4.6.2 instead).
- .NET runtimes: Removed .NET Framework 4.6 from the list of supported .NET runtimes (use .NET Framework 4.6.2 instead).
- Development tools: Visual Studio 2012 removed from the list of primary development tools. It will likely still work for most tasks, though.
Technology
Delivery
- When targeting .NET Standard, the only delivery vehicle for the libraries themselves is the NuGet feed from http://www.nuget.org. The installer (Windows only) is still used for other parts of the product. Explanation to this decision can be found here: Why is delivery over NuGet feed used for .NET Core?
- Examples for .NET Standard are provided in form of downloadable .ZIP and .TGZ archives (if you are on Windows, you also still get them through the QuickOPC installer). Links to the example archive files are in the documentation (in the Examples section), and on the Web site.
Licensing
- It is now possible to embed the license key as managed resource in one of application's assemblies. When this approach chosen, no additional licensing-related steps are needed in order to run the application when deployed on the target machine.
- The LMConsole utility now uses non-zero exit codes to indicate execution errors. The list of exit codes is in the documentation.
Installation and Uninstallation
- The installation packages (for Windows) have been renamed to contain "Windows" in their name, e.g. QuickOPC-2018.3-Windows-Full.exe.
Component Improvements
- Added AllowSha1SignedCertificates property to the UACertificateAcceptancePolicy class. Determines whether certificates signed with SHA-1 message digest algorithm can be accepted.
- Added MinimumCertificateKeySize property to the UACertificateAcceptancePolicy class. Determines the minimum length of the certificate's public key.
- Added UseCustomHttpsCertificateValidation property to the UAClientEngineParameters class. Determines whether the certificates used for HTTPS communication will be validated by the component, or using the system default rules.
- When performing OPC UA application discovery on a given host, endpoint URLs with schemes that are known to be not supported by the OPC UA stack or .NET runtime are silently skipped, resulting in faster discovery and better error diagnostic in some cases.
- Error messages resulting from OPC UA SDK actions now contain a report, detailing the exceptions and SDK traces gathered during the action.
- Added a boolean Flat property to the UAGlobalApplicationDiscoveryQuery class, and an overload with a boolean flat argument to the DiscoverGlobalServers extension method.
- Added a ToInt32 method to UAServiceResult, and an implicit conversion from UAServiceResult to an integer. The method and the conversion take the code bits of the service result, making it easier to access this most important piece of the service result, and e.g. compare it against expected error code values.
- Added an implicit conversion from UAMessageSecurityModes to UAEndpointSelectionPolicy.
Component Refactorings
- Renamed one of the DiscoverGlobalServers method overloads to DiscoverGlobalApplications.
- Setting an OPC UA certificate acceptance policy specific to an endpoint is no longer supported, as it cannot be reliably implemented due to limitations of the underlying UA stack. You can set the certificate acceptance policy globally.
User Interface
- Added Console Interaction Provider, automatically selected in user-interactive applications that have no GUI windows. With it, console-based applications can now interact with the user for accepting HTTPS and instance certificates, approving certificate domain mismatches, etc.
- The Node Information Pane in browsing dialogs and controls now displays a little "Copy to clipboard" icon next to pieces of data that are commonly copied.
OPC UA Browsing in Point Editor (Connectivity Explorer and Live Binding configuration)
- On the OPC UA root node, a new "View Instance Certificate" command allows the user to inspect the current instance certificate used by the client application.
- Discovery using the OPC UA Global Discovery Server (GDS) is now possible. When a server is returned with the GDS capability indication, it is visually distinguished using a different icon and a "*GDS" text appended to its display name. It is also possible to mark any OPC UA endpoint as being a GDS, by the "Treat As GDS" command in the browse control. Nodes under the GDS can be organized by Host, Application, or Discovery Endpoint.
- On the GDS node, a new group of commands labeled "GDS Registration" appears, with following commands:
- "Register this client"
- "Update this client registration"
- "Unregister this client"
- "Find this client registration"
- On the GDS node, a new group of commands labeled "Certificate Manager (CM)" appears, with following commands:
- "Obtain new certificate"
- "Refresh own trust lists"
Developer Tool Integration
Excel Option
Instrumentation
- Improved OPC UA logging associated with HTTPS certificate validation.
Tools
Connectivity Explorer
- In the Point Editor window (Browse tab), context menu on the "OPC Unified Architecture" node now has a command that allows configuring the global Endpoint Selection Policy (applies when a specific policy is not set on the endpoint).
- In the Point Editor window (Browse tab), context menu on the "OPC Unified Architecture" node now has a command that allows configuring the global Certificate Acceptance Policy.
Documentation and Help
- Documentation was updated to cover the support for .NET Standard. See Transitioning from .NET Framework to .NET Standard for areas that specifically need attention.
Examples
- The documentation examples in .NET have been consistently updated to show proper error handling practices.
Bonus Material
- Added UA Configuration Tool (from OPC Foundation) to the installed Bonus Material. Main usage of this tool in relation to QuickOPC is to manage the OPC UA certificates.