There is a solution consisting of many projects. The main project is an MDI container. Other projects - dll of the connected forms - dependent. Most dll will use a connection to the MySQL database, respectively, each should have a link to the MySQL library and using MySql.Data.MySqlClient;
However, if the version of the MySQL library file is changed, the whole thing may stop working. Or if you change the version, you will need to change the file version for all connected dlls. Question: Is it possible to make dependent projects take a link to a library or namespace from the main project?

    2 answers 2

    Most dll will use a connection to the MySQL database, respectively, each should have a link to the MySQL library and using MySql.Data.MySqlClient;

    Here is your main mistake. Work with the database should be placed in a separate layer (in this case, in a separate dll), and only interfaces that are not connected to a specific database server should be exposed to it. Then you don't have to shake up all your projects.

      Do you use InversionOfControl architecture. They have different implementations of Castle Windsor, Autofac, MEF, Unity.