У меня есть собственная сторонняя игра, которая позволяет мне писать собственные расширения для нее, экспортируя определенную функцию в собственную DLL.Я использовал это для размещения CLR, используя сгенерированный компилятором C ++ / CLI код хостинга, что позволило мне вызывать код C # из игры.Это отлично работает, и это очень элегантное решение.
Как только CLR загружен игрой, он ищет game.exe.config в папке исполняемого файла игры для получения дополнительной информации о сборке .NET:
<?xml version="1.0"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="@Arma2NET"/>
</assemblyBinding>
</runtime>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/></startup></configuration>
Этот произвольный файл конфигурации нарушает структуру моей папки;Я бы хотел, чтобы мой проект содержался в папке @Arma2NET
и не имел случайных файлов конфигурации в папке с игрой.В настоящее время из-за требований к папке игры невозможно, чтобы файлы проекта находились в той же папке, что и собственная DLL-библиотека хостинга CLR.
Существует ли способ программно предоставить CLR эту конфигурацию из собственного кодаон начинается, если не считать написания всего кода CLR-хостинга сам?