FAQ Mono - SynoCommunity/spksrc GitHub Wiki

Mono

Mono is an open source implementation of Microsoft's .NET Framework as part of the .NET Foundation and based on the ECMA standards for C# and the Common Language Runtime.

Since .NET 6 (aka dotnet core) there is a new framework available for building cross platform applications.

There are still use cases for Mono on Linux, since some 32-bit cpu (arm and x86) are not supported by dotnet core.

Since Mono 6.0.12-20 we support a current version that includes support for .NET 4.8.

Certificate Store

Mono has it's own certificate store for CA certificates used to validate certificates for secure connections et al.

The synocommunity package has located the certificate store in

/var/packages/mono/var/.mono/certs

Certificate Update

At package installation, the certificate store is updated with the currently installed ca-certificates of DSM. The command for this update is:

/var/packages/mono/target/bin/cert-sync /etc/ssl/certs/ca-certificates.crt

The package installer installs a script containing this command to be used for later updates.

/var/packages/mono/var/update_ca_certificates.sh

There are several options how to use this script to keep the ca certificate store up-to-date

  • manually ssh into your Diskstation an run the script
  • create a Triggered Task in the DSM Task Scheduler and execute this script at system boot
  • create a Scheduled Task in the DSM Task Scheduler to execute this script manually or with a schedule

There is another option to update the ca certificate store

  • You can manually download and install the mono package of the already installed version. This will update the package with the same version, and the ca certificate update is run again.

History

There where some long lasting issues, that are fixed now