.NET Based OPC UA Client/Server SDK  3.1.2.511
Migration guides

Common notes

This documentation is not complete and will be updated later.

Migration from SDK 2.x to 3.1

  • Remove referenced Unified Automation assemblies and add the distributed packages
    • UaBase
    • UaBase.Windows
    • UaClient (for client applications)
    • UaServer (for server applications)
  • Replace calling new UaClient.Session() by new UaClient.Session(ApplicationInstance.Default).
  • Replace XmlElement by XmlString when using the DataType for DataValues.
  • Replace Utils.GetDefaultIcon by GuiUtils.GetDefaultIcon.
  • Remove EventHandler MissingHttpsCertificate.
  • If the ApplicationSettings are set in code, then replace UaSchema.SecuredApplication by ConfigurationInMemory.
  • Certificate Store path in default configuration changed to %CommonApplicationData%\defaultOrganisationName\CertificateStores\pki\.
  • Trace path in default configuration changed to %CommonApplicationData%\defaultOrganisationName\Logs\.
  • The method SecurityUtils.LoadCertificate (string storeType, string storePath, string subjectName, string thumbprint, bool needPrivateKey) has been removed.
    Create a certificate store with SecurityUtils.CreateStore and call ICertificateStore.Find instead.

Migration from SDK 3.0.x to 3.1.x

  • Application configuration moved to ApplicationInstanceBase
  • Set the type of the UaApplicationConfiguration in app.config to "UnifiedAutomation.UaBase.ApplicationConfigurationSection,UnifiedAutomation.UaBase" (remove ".Windows").
  • Certificate Store path in default configuration changed to %CommonApplicationData%\defaultOrganisationName\CertificateStores\pki\.
  • Trace path in default configuration changed to %CommonApplicationData%\defaultOrganisationName\Logs\.

Migration of applications based on .NET Framework to .NET Core

  • Change framework to .NET Core 2.0 or later.
  • Remove all dependencies to System.Windows.Forms.
  • Remove package UaBase.Windows.
  • Add package UaBase.BouncyCastle.
  • Replace occurances of ApplicationInstance by ApplicationInstanceBase. Only use the functionality of ApplicationInstanceBase.