Соответствующая часть метода компиляции (возвращает сборку)
Код: Выделить всё
string dll = //the absolute path...
if (File.Exists(dll)) {
return Assembly.LoadFrom(dll);
}
Код: Выделить всё
private void ExecuteModMethod(Mod mod, string methodName, object[] methodParameters)
{
if (!useMods) return;
Type type = mod.Assembly.GetType(mod.Name+".Main");
if (type == null) return;
MethodInfo method = type.GetMethod(methodName);
mod.Instance = Activator.CreateInstance(type);
if (method == null) return;
method.Invoke(mod.Instance, methodParameters);
}
Я мало что знаю о DLL и подобных вещах, поэтому буду рад любой помощи. Мне просто нужно, чтобы ошибка исчезла, потому что она останавливает выполнение приложения и поэтому метод не вызывается.
ПРИМЕЧАНИЯ
< ul>
[*]Я знаю, что это действительно опасно и моддеры могут включить вредоносное ПО. Я разберусь с этой проблемой, вам не нужно упоминать, насколько она опасна, спасибо.
[*]Это единственная выдаваемая ошибка, путь к dll, тип, метод и mod.Instance не равны нулю. Проблема не в этом.
Подробнее здесь: https://stackoverflow.com/questions/791 ... ed-assembl