Monday, May 11, 2020

Upgrade to .NET Standard and Version Scheme Changes

It has been a while since I've posted a new topic on the blog, and given that there is a major announcement of SanteDB I figured this would be a perfect opportunity.

As you may (or may not) be aware, SanteDB is based on the OpenIZ CDR codebase. OpenIZ started way back in 2015 on .NET Framework 4.5, and a commercial version of Xamarin (remember when that was a thing?). Unfortunately, to realize the goal of reusable platform components, this meant that OpenIZ needed to be written in Portable Class Library (PCL) technology.

Well, Microsoft has deprecated PCL for quite some time now, and finally have removed the template types from Visual Studio 2019. This necessitated the upgrade of SanteDB from PCL to .NET Standard 2.0 (which also required an update to the server to .NET Framework 4.7).

These new, refactored SanteDB packages are marked as 2.0. These package versions (currently 2.0.6) are for the Jasper packaging / major version of SanteDB. You should be able to upgrade your references to these new packages as none of namespaces have changed and it largely remains compatible with 1.1xx code.

You will, however, need to update your configuration files, these include:

  • The core server configuration file santedb.config.xml
  • Any dCDR configuration files (usually in %appdata%\SanteDB)
The changes required involve updating the version string, for example, where you once had:

<services>
     <add type="SanteDB.Core.Serivces.Impl.XXXXX, SanteDB.Core, Version=1.129.0.0"

You should replace the reference to 2.x

<services>
    <add type="SanteDB.Core.Serivces.Impl.XXXXX, SanteDB.Core, Version=2.0.0.0"

We will be packaging a new series of installers for 2.x branch (SDK, Server, DCG, etc.) in the coming week

Upgrade to .NET Standard and Version Scheme Changes

It has been a while since I've posted a new topic on the blog, and given that there is a major announcement of SanteDB I figured this wo...