C#exe无法在目标平台x86上运行

时间:2013-07-30 23:28:34

标签: c# c#-4.0 process database-connection target-platform

所以,我正在尝试记录对网络上共享文件的访问(我正在修改Abdollah Zawari's 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数据库中,但是当我将项目的目标平台设置为x86时,jet.Oledb.4.0或ace.oledb.12.0才起作用。

问题是,当我运行x86项目时,openfiles.exe没有返回任何内容(openfiles.exe启动并结束时没有明显错误,但返回空字符串“”)

我是一个新手,特别是在这些领域,所以对此事的任何建议都将不胜感激

感谢advence

1 个答案:

答案 0 :(得分:0)

您使用的Oledb版本不支持64位,您需要使用适用于32位和32位版本的新版本。 64位。使用Microsoft Access Database Engine 2010代替访问数据库,一切都会好的。