C# exe не работает на целевой платформе x86

Итак, я пытаюсь зарегистрировать доступ к моим общим файлам в сети (я изменяю ShareMoniter Абдоллы Завари), я делаю это, запуская openfiles.exe следующим образом:

        var process = new Process();
        process.StartInfo.FileName = "openfiles.exe";
        process.StartInfo.Arguments = "/query /FO CSV /v";
        process.StartInfo.UseShellExecute = false;
        process.StartInfo.CreateNoWindow = true;
        process.StartInfo.RedirectStandardOutput = true;
        try
        {
            process.Start();
            if ((process.StandardOutput != null))
            {
                var result = process.StandardOutput.ReadToEnd().Trim().Replace("\"", "");
                var lines = result.Split('\n');...

Я хочу записать результаты в базу данных Access, но jet.Oledb.4.0 или ace.oledb.12.0 работают только тогда, когда я устанавливаю целевую платформу проекта на x86.

проблема в том, что openfiles.exe ничего не возвращает, когда я запускаю проект для x86 (openfiles.exe запускается и заканчивается без видимой ошибки, но возвращается пустая строка "")

Я очень новичок, особенно в этих областях, поэтому любой совет по этому вопросу будет принята с благодарностью

спасибо в адвенс

1 ответ

Решение

Версия Oledb, которую вы используете, не поддерживает 64-битную версию, вам нужно использовать более новую версию, которая работает как на 32-, так и на 64-битной версии. Вместо этого используйте Microsoft Access Database Engine 2010 для доступа к базе данных, и все будет хорошо.

Другие вопросы по тегам