Bug #118463 Installation on UNIX/Linux is inconsistent
Submitted: 17 Jun 6:26 Modified: 17 Jun 6:56
Reporter: Daniël van Eeden (OCA) Email Updates:
Status: Verified Impact on me:
None 
Category:Connector / NET Documentation Severity:S3 (Non-critical)
Version:9.3.0 OS:Any
Assigned to: CPU Architecture:Any

[17 Jun 6:26] Daniël van Eeden
Description:
Pages:
- https://dev.mysql.com/doc/connector-net/en/connector-net-installation.html
- https://dev.mysql.com/doc/connector-net/en/connector-net-installation-unix.html

The docs suggest that on UNIX/Linux the only option is to use Mono.

To install with Mono the first option listed is to download mysql-connector-net-<version>-noinstall.zip

There is no "noinstall" listed For MySQL Connector/NET 9.3.0 and there is no ".NET & Mono" option for the Operating system on the download page for versions after 8.4.

I didn't see a note in the MySQL Connector/NET release notes about a change in this.

How to repeat:
Try to use MySQL Connector/NET on Linux

Suggested fix:
To me it seems that the best way to run .NET on Linux is now to just download the official .NET SDK instead of Mono.

1. Update the docs to list the steps to use Connector/NET on Linux with .NET SDK

2. Add YUM/RPM and APT/DEB packages for easier installation. (Note that Fedora has an older version that is depending on Mono in its repositories: https://packages.fedoraproject.org/pkgs/mysql-connector-net/mysql-connector-net/ )
[17 Jun 6:39] MySQL Verification Team
Hello Daniël,

Thank you for the report and feedback.

regards,
Umesh
[17 Jun 6:56] Daniël van Eeden
https://dev.mysql.com/doc/connector-net/en/connector-net-installation-source.html at the end of the page:

"To build source code on Linux and macOS, you must target .NET Standard (-f netstandard2.0 or -f netstandard2.1). To build source code on Microsoft Windows, you can target .NET Standard and .NET Framework (-f net452 or -f net48)."

It looks like this is outdated.

In MySQL.Data/src/MySql.Data.csproj there is this:
<TargetFrameworks>netstandard2.0;netstandard2.1;net9.0;net8.0;</TargetFrameworks>
<PropertyGroup Condition="$([MSBuild]::IsOSPlatform('Windows'))">
  <TargetFrameworks>net462;net48;$(TargetFrameworks)</TargetFrameworks>
</PropertyGroup>

So it looks like net9.0 and net8.0 are also valid on Linux.
And net452 on Windows should be replaced with net462.