Pour commencer, Mono sous Linux stocke le GAC sous la forme d'une liste de fichiers, de chemins et de liens entre les deux. La plupart du code qui crée l'exécution de base mono utilise un indicateur de temps de compilation nommé MONO_ASSEMBLIES. Cette valeur est définie par défaut sur $ prefix/lib dans le système de construction. Sur la plupart des distributions Linux, le préfixe $ est défini sur "/ usr", alors MONO_ASSEMBLIES
serait/usr/lib. Dans cet esprit, les chemins de base réels pour le GAC sont $prefix/lib/mono/gac
. Vous pouvez également définir une variable d'environnement pour le mono (MONO_GAC_PREFIX
) qui vous permet de définir plusieurs chemins de base pour le GAC.
Étant donné que ce chemin peut être modifié par installation et que mono permet d'utiliser plusieurs chemins à l'aide d'une variable d'environnement, vous devrez peut-être obtenir le chemin de base Assembly.Location. En outre, Assembly.GlobalAssemblyCache vous aidera à déterminer si vous devez vérifier son chemin du tout.
J'espère que cela aide!
Pourquoi devrait-on le vouloir? Le programme d'installation est celui qui installe les assemblys dans Applicationdirectory ou dans AssemblyCache - votre code n'a rien à voir avec ces dossiers. –
"votre code n'a rien à voir avec ces dossiers" Comment pouvez-vous le savoir. Je n'ai jamais rien dit sur mon code. –
Alors s'il vous plaît expliquer pourquoi vous avez besoin de connaître cet emplacement. Les chances sont que vous faites quelque chose que vous ne devriez pas faire. – skolima