2012-08-09 1 views
0

Следующий код отлично работает в Windows 7 (32-разрядный), но при портировании на 64-разрядный я получаю исключение, указывающее «Файл не найден». Я построил проект в 64-битной конфигурации, но проблема все еще сохраняется.SaveFileDialog.ShowDialog() thrown FileNotFound exception

Эта проблема возникает, если аппарат не установлен в 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); 
} 
+2

как есть другой такой же вопрос http://stackoverflow.com/questions/11876874/savefiledialog-showdialog-thrown-filenotfoundexception-exception-in-windows7-6 – Artiom

ответ

1

Вопрос здесь то, что значение «путь». Машины x86 и x64 могут иметь разные конфигурации папок, например. Программные файлы (x86) являются одним из них. Вы можете начать с перечисления Environment.SpecialFolders, эти пути должны быть действительными.

 Смежные вопросы

  • Нет связанных вопросов^_^