моно игнорирует dllmaps в app.config файле

Это кажется Моно, игнорирует dllmaps в локальном конфигурационном файле.

Я хочу портировать свое приложение.NET на Linux (человечность), которая называет собственные библиотеки, таким образом, у меня есть dllmaps, чтобы заставить мой код работать. В моно документах говорится, что необходимо сделать something.exe.config для something.exe и поместить специализированные конфигурации в него. это анализирует файл (потому что это жалуется, делаю ли я некоторые орфографические ошибки в нем), и имя файла корректно, но кажется, что это игнорирует dllmaps.

Файл конфигурации прост:

<configuration>
<dllmap dll="i:openal32.dll" target="libopenal.so" />
</configuration>

Моно не находит openal32.dll и бросает DllNotFoundException. Но если я копирую это dllmap запись в основном/etc/mono/config файле затем, все прекрасно. Если делают $MONO_LOG_LEVEL=debug, моно..., обманывает для наблюдения то, что он делает и я вижу, что нет никакой попытки загрузить libopenal.so вообще. Но много попыток загрузить libopenal32.dll, ./libopenal32.dll libopenal32.so, openal32.so, и т.д. файлы.

Вероятно, я столкнулся с Моно ошибкой снова?

Я хочу упаковать этот файл конфигурации в архиве, и я не хочу просить, чтобы мои пользователи смешали с/etc/mono/config файлом.

Какие-либо идеи?

8
задан Calmarius 19 January 2010 в 20:34
поделиться

1 ответ

- это все ваши атрибуты DLLIMPORT в коде, используя «OpenAL32.dll» или некоторые используют «OpenAlL32» вместо этого? В любом случае файл конфигурации относится к сборке, содержащую методы P / Invoke: наиболее вероятной проблемой состоит в том, что вы создали конфиг для основной сборки, когда методы P / Invoke находятся в отдельной сборке библиотеки. Просто переименуйте файл в OpenAlusIngAssembly.dll.config.

8
ответ дан 5 December 2019 в 19:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: