Я полагаю, что вы можете использовать UnityAPI OnPostprocessBuildAPI в сценарии, чтобы скопировать dll-файлы в ваше местоположение exe.
using UnityEngine;
using UnityEditor;
using UnityEditor.Callbacks;
public class MyBuildPostprocessor
{
[PostProcessBuildAttribute(1)]
public static void OnPostprocessBuild(BuildTarget target, string pathToBuiltProject)
{
Debug.Log( pathToBuiltProject );
File.Copy("Oringal File",pathToBuiltProject + "\play_data\plugins\" + Your dll);
}
}
Опция " pathToBuiltProject " дастВы ваше исполняемое местоположение.Вы можете перейти к «play_data \ plugins», используя pathToBuiltProject .Я использую этот API для перемещения пользовательских файлов времени выполнения.
Я также понял, что вы сказали, что загружаете из LoadLibrary(DllPath)
.Так значит ли это, что вы не включили DLL в папку Plugin в ресурсах?Потому что библиотеки dll в папках Plugin внутри проекта Unity добавляются в «yourprogramName_data \ Plugins» после компиляции.Если это так, то вы можете добавить сохранить dll в папку плагинов и позволить Unity автоматически сделать это за вас.И если у вас есть dll, которые вам динамически необходимы для добавления в папку плагинов после завершения сборки, вы можете использовать первый метод.