Sembra che Mono ignori le dllmap nel file di configurazione locale.mono ignora le dllmap nel file app.config
Desidero eseguire il porting della mia applicazione .NET su Linux (ubuntu) che chiama le librerie native, quindi ho dllmaps per far funzionare il mio codice. I documenti mono dicono che devi creare qualcosa.exe.config per qualcosa.exe e inserire le configurazioni specifiche dell'applicazione al suo interno. analizza il file (perché si lamenta se faccio degli errori di ortografia) e il nome del file è corretto ma sembra che ignori le dllmaps.
Il file di configurazione è semplice:
<configuration>
<dllmap dll="i:openal32.dll" target="libopenal.so" />
</configuration>
Mono non trova l'openal32.dll e getta DllNotFoundException. Ma se copio quella voce di dllmap nel file principale/etc/mono/config, allora tutto va bene. Se fai un $ MONO_LOG_LEVEL = debug mono ... trucco per vedere cosa fa e vedo che non c'è alcun tentativo di caricare libopenal.so affatto. Ma molti cercano di caricare i file libopenal32.dll, ./libopenal32.dll libopenal32.so, openal32.so, ecc.
Probabilmente mi sono imbattuto nuovamente in un bug Mono?
Voglio impacchettare questo file di configurazione nell'archivio e non voglio chiedere ai miei utenti di fare confusione con il file/etc/mono/config.
Qualche idea?
Questo era il problema ... Ho scritto il file di configurazione all'assembly sbagliato. Uno dei miei riferimenti usa la DLL non l'applicazione principale. – Calmarius
+1 hai un brillante futuro scrivendo documenti mono deobfuscation. :) –