Il est possible de référencer dans un projet de CustomPage une ou plusieurs assemblies en tant que dépendances. Dans Visual Studio, leur ajout se fait de façon habituelle.
Une assembly reprise en tant que dépendance programmée localement aura ce ou ces frameworks cibles :
<TargetFramework>net8.0</TargetFramework>
si la dll ne contient rien de différent entre son code pour Android et son code pour iOS.
<TargetFrameworks>net8.0-android;net8.0-ios</TargetFrameworks>
dans le cas contraire.
Cet assembly ne peut pas avoir pour cible l'environnement Windows.
Exemple : voir TestPenguinCustomOtherAssembly.csproj dans l'exemple disponible sur cette page.
Ces assemblies doivent ensuite être distribuées à MercatorPenguin. Pour cela, il faut ajouter une ou plusieurs lignes dans le composant CustomPage.
<CustomPage>
<Android>
<MainAssembly><Other\TestPenguinCustom\Android\TestPenguinCustom.dll</MainAssembly>
<ReferencedAssembly><Other\TestPenguinCustom\Android\TestPenguinCustomOtherAssembly.dll</ReferencedAssembly>
<ReferencedAssembly>...</ReferencedAssembly>
</Android>
<iOS>
<MainAssembly><Other\TestPenguinCustom\iOS\TestPenguinCustom.dll</MainAssembly>
<ReferencedAssembly><Other\TestPenguinCustom\iOS\TestPenguinCustomOtherAssembly.dll</ReferencedAssembly>
<ReferencedAssembly>...</ReferencedAssembly>
</iOS>
<ClassName>TestPenguinCustom.CustomPage1</ClassName>
</CustomPage>
Les fichiers SQL > Autres se présentent alors comme suit :

Notes importantes :
- Après un changement de version d'une assembly référencée, il est recommandé de forcer le redémarrage de MercatorPenguin. Sinon, la coexistence de plusieurs assemblies identiques mais dans des versions différentes, peut rendre l'application instable.
- Le nombre d'assemblies chargées de la sorte doit rester raisonnable et adapté à un usage dans un appareil de faible capacité de mémoire. Il n'est pas envisageable de charger de la sorte un environnement de développement complexe qui, de surcroît, pourrait être en conflit avec des composants de MercatorPenguin.
- Il en est de même pour le poids de ces assemblies.
- Si une assembly référencée contient du code conçu localement mais dans un autre projet, il est possible de ne pas inclure ce code via une dll en dépendance, mais en l'ajoutant directement au projet via :
- Ajouter élément existant / Add existing item
- Ajouter en tant que lien