Использование libsodium-net для всей своей безопасности в Azure Service Fabric Reliable Service, в моем локальном кластере dev все работает нормально (хотя мне пришлось установить libsodium-64.dll для копирования в выходной каталог).libsodium-64.dll не найден на производстве Azure Service Fabric cluster
К сожалению, при развертывании на реальном кластере в лазури он выдает следующее сообщение об ошибке:
Unable to load DLL 'libsodium-64.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
Я проверил на удаленный рабочий стол-ки в одном из узлов и DLL копируется через в тот же каталог, что и служба, точно так же, как и в моем dev-кластере. Не могу понять, почему его нельзя найти в производстве.
Я пробовал установить переменную среды PATH, как это предложено в this answer, и подтвердил, что он действительно установлен - к сожалению, это не помогает.
Есть ли что-то особенное, что мне нужно сделать, чтобы получить ASF, чтобы забрать DLL?
Редактировать: также пытались добавить DLL к System32 на всех узлах, также не решили.
Здесь действительно не должно быть ничего особенного. Можете ли вы изменить сервис, чтобы распечатать то, что, по его мнению, находится в рабочем каталоге, а также проверить путь? – masnider
Да, не думал, что должно быть, logging 'Directory.GetFiles (AppDomain.CurrentDomain.BaseDirectory)' показывает "D: \ SvcFab \ _App \ ... \ ... Pkg.Code.1.0.0 \ libsodium-64 .dll "как находящийся там. Путь показывает C: \ Windows \ system32, Windows и обычные местоположения. –
@TomDavies и что такое 'Environment.CurrentDirectory'? Не могли бы вы предоставить эти пути как для производства, так и для вашего местного сообщества. – cassandrad