1

以下代码在 Windows 7(32 位)上运行良好,但是当移植到 64 位时,我得到一个异常,指出"File Not Found"。我已经在 64 位配置中构建了项目,但问题仍然存在。

如果计算机未安装 Office,则会出现此问题。

代码如下:

try
{
    SaveFileDialog fileDialog = new SaveFileDialog();

    fileDialog.InitialDirectory = path;

    // set the default extension as mdb.
    fileDialog.DefaultExt = ".mdb";

    // allow the user to select the file type as CSV, XML or MDB.
    fileDialog.Filter = "CSV (*.csv)|*.csv|XML (*.xml)|*.xml|MDB (*.mdb)|*.mdb";                
    fileDialog.RestoreDirectory = true;

    if (DialogResult.OK == fileDialog.ShowDialog())  // exception occured
    {
        this.fileNameTextBox.Text = fileDialog.FileName;
    }
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message);
}
4

1 回答 1

1

这里的问题是“路径”的价值是什么。x86 和 x64 机器可能有不同的文件夹配置,例如 Program Files (x86) 就是其中之一。您可以从 Environment.SpecialFolders 枚举开始,这些路径应该是有效的。

于 2012-08-09T09:49:01.890 回答