Один из моих клиентов испытывает сбой в моем приложении WPF при сохранении файла.Исключение SaveFileDialog в моем приложении WPF
Моя сохранить код файла является:
var saveFileDialog = new SaveFileDialog {
InitialDirectory = string.Concat(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), @"\MyApp"),
FileName = "MyFile",
OverwritePrompt = true,
AddExtension = true
};
if (saveFileDialog.ShowDialog() == true) {
...
}
А вот исключение они получают:
Value does not fall within the expected range.
A System.ArgumentException occurred
at MS.Internal.Interop.HRESULT.ThrowIfFailed(String message)
at MS.Internal.AppModel.ShellUtil.GetShellItemForPath(String path)
at Microsoft.Win32.FileDialog.PrepareVistaDialog(IFileDialog dialog)
at Microsoft.Win32.FileDialog.RunVistaDialog(IntPtr hwndOwner)
at Microsoft.Win32.FileDialog.RunDialog(IntPtr hwndOwner)
at Microsoft.Win32.CommonDialog.ShowDialog()
(Где ShowDialog
в последней строке относится к вызову, я делаю в своем коде выше.)
Так что я подозреваю, что в случае моего клиента вызов Environment.GetFolderPath (Environment.SpecialFolder.MyDocuments) возвращает то, что SaveFileDialog
не нравится как InitialDirectory
. Я нашел в веб-поиске (и подтвердил), что эта ошибка возникает при передаче относительного пути как InitialDirectory
файла SaveFileDialog. Возможно ли, что Environment.SpecialFolder.MyDocuments
может быть возвращен как относительный путь? Если нет, знает ли кто-нибудь другой потенциально недопустимый формат? Может ли быть причиной определенного сетевого пути SpecialFolder.MyDocuments? Любые другие идеи?
У меня нет прямого доступа к машине моего клиента, и они не особенно разбираются в технологиях, поэтому невозможно быть на 100% уверенным, что происходит.
Вы видели это http://stackoverflow.com/questions/5385619/issue-with-debugging-visual-studio-2010-solution-that-utilises-filedialog-from-t и этот http: // stackoverflow. ком/вопросы/6433373/МОФ-VB-нетто-OpenFileDialog-ShowDialog броски-ан-исключение? –
Да, оба не связаны. Во-первых, это касается относительных путей к файлам (о которых я конкретно задаю в своем вопросе в отношении SpecialFolder.Мои документы). У второго есть ответ, что я даже не вижу, чтобы быть связанным с исходным вопросом - независимо от того, что это не помогает мне. – Ross
Возможный дубликат [OpenFileDialog.ShowDialog() выдает исключение?] (Http://stackoverflow.com/questions/6433373/openfiledialog-showdialog-throws-an-exception) –