.NET Based OPC UA Client/Server SDK
Creating an Empty Visual Studio Server Project

Create a New Project

Select “File → New → Project” from the menu. Select “Visual C#” from the tree and pick the template “Console Application”.

New Console Application

Change project name and location to your liking. In this example we are using .NET Framework 4.5.

Add NuGet packages

Right click on project in the Solution Explorer and choose “Manage NuGet Packages...” from the context menu.

Manage NuGet Packages...

Add the installation directoy of the UnifiedAutomation NuGet packages as package source and chose it. Select UnifiedAutomation.UaBase, UnifiedAutomation.UaBase.Windows and UnifiedAutomation.UaServer. If you are building your application with .NET Core, you should select UaBase.BouncyCastle instead of UaBase.Windows.

Select UaBase, UaBase.Windows and UaServer


Add the following line to the file Program.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using UnifiedAutomation.UaBase; // Add this line

Add License

Right click on your project in the Solution Explorer and choose “Add → New Folder” from the context menu.

Add New Folder

Name the newly created folder License.

License Folder

Right click on the License Folder and select “Add → Existing Item...”

Add Existing Item

Set the file filter to “All Files (*.*)”, navigate to a folder containing a license file (e.g. [Installation Directory]/UnifiedAutomation/UaSdkNetBundleBinary/examples/BasicClient/License), select the file License.lic and confirm with “Add”.

Pick License File

Right click on License.lic and select “Properties”. Set the build action to “Embedded Resource”.

Embed License

Add the following code to the file Program.cs to embed the license:

static void Main()
// new code begins
ApplicationLicenseManager.AddProcessLicenses(System.Reflection.Assembly.GetExecutingAssembly(), "License.lic");
catch (Exception e)
// new code ends

Configure Product

Add an App.config file via context menu “Add → Existing Item” to your project (e.g. from [Installation Directory]/UnifiedAutomation/UaSdkNetBundleBinary/examples/ServerGettingStarted/Lesson01). More information on configuration settings can be found in the first lesson, Options for Loading Configuration Settings and in the documentation for the Base Library under Configuration Schema.

Right click on App.config and select “Properties”. Set the build action to “None”.

You are now prepared to start with Lesson 1: Setting up a Basic OPC UA Server Console Application