Mono가 로컬 구성 파일의 dllmaps를 무시하는 것처럼 보입니다.mono가 app.config 파일의 dllmaps를 무시합니다.
내 .NET 응용 프로그램을 네이티브 라이브러리를 호출하는 Linux (우분투)에 이식하여 코드 작업을위한 dllmaps가 있어야합니다. 모노 문서에서는 something.exe에 대해 something.exe.config를 만들고 응용 프로그램 특정 구성을 넣어야한다고 말합니다. 파일을 구문 분석하기 때문에 (일부 맞춤법 오류가 생기면 불평하기 때문에) 파일 이름은 정확하지만 dllmaps는 무시됩니다.
<configuration>
<dllmap dll="i:openal32.dll" target="libopenal.so" />
</configuration>
모노가 openal32.dll을 찾지 않고 DllNotFoundException을 던졌습니다 :
설정 파일은 간단하다. 하지만 기본/etc/mono/config 파일에 dllmap 항목을 복사하면 모든 것이 정상입니다. 만약 $ MONO_LOG_LEVEL = debug mono ... 트릭이 무슨 일을하는지 알고 싶다면 libopenal.so를 전혀로드하지 않으셔도됩니다. 그러나 많은 사람들이 libopenal32.dll, ./libopenal32.dll, libopenal32.so, openal32.so 등의 파일을로드하려고 시도합니다.
아마도 다시 Mono 버그가 발생 했습니까?
이 구성 파일을 아카이브에 압축하고 싶지만 사용자에게/etc/mono/config 파일을 엉망으로 만들지는 말고 싶지 않습니다.
아이디어가 있으십니까?
그건 문제가 ... 내가 잘못된 어셈블리에 구성 파일을 썼습니다. 내 참조 중 하나는 기본 응용 프로그램이 아니라 dll을 사용합니다. – Calmarius
+1 모노 deobfuscation 문서를 작성하는 밝은 미래가 있습니다. :) –