2016-04-05 6 views
1

У меня возникла проблема с использованием OpenFileDialog (из System.Windows.Forms) в приложении WPF, запущенном на Windows Server 2008. Когда я нажимаю кнопку мыши, режим ожидания ", затем нормальный режим и ничего не происходит, ни одно окно не отображается. Но, когда я использую тот же метод в приложении WindowsForm, на том же сервере, он работает.WPF - Open File Dialog WPF и сервер

Я тестирую с этим кодом:

try 
{ 
    System.Windows.Forms.OpenFileDialog dialog = new System.Windows.Forms.OpenFileDialog(); 
    dialog.ShowHelp = false; 
    dialog.Multiselect = false; 

    if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) 
     return; 

    txtCaminho.Text = dialog.FileName; 
} 
catch (Exception ex) 
{ 
    MessageBox.Show("Exception: " + ex.Message); 
} 

Сервер является Windows Server 2008, R2, x64, с .Net 4.5.2. Приложения работают в режиме x86.

Я также попытался использовать FileDialog из Microsoft.Win32 и Microsoft.WindowsAPICodePack.Dialogs

+0

отлично работает для меня, должно быть что-то еще в вашем проекте, вы видите это поведение в автономном тестовом приложении.? –

+0

Да, это происходит во всех приложениях WPF, которые используют OpenFileDialog, только на этом сервере. Код, который я опубликовал, выполнен из автономного теста. –

ответ

0

Если ваше приложение для 4.5 .Net и выше, есть один вопрос, который я встретил. Попробуйте перестроить свой проект на .net 4.0 и вернуться к предыдущей версии. Затем проверьте .csproj файл: там вы увидите дополнительные теги в <PropertyGroup .../>:

<Prefer32Bit>false|true</Prefer32Bit>