Диалог открытия файла вызывает проблему DLL в приложении WPF

У меня есть проект приложения WPF в VS2012 с использованием .Net Framework 4.0.
В моем приложении WPF есть ссылки на управляемые библиотеки C ++.

Я хотел бы, чтобы пользователь мог выбрать файл для открытия, но когда я вызываю OpenFileDialog перед какой-то функцией из управляемого C ++ DLL я получаю System.BadImageFormatException, но если я отправляю жестко закодированный путь вместо того, чтобы позволить пользователю выбирать с помощью OpenFileDialog, тогда приложение работает нормально.
Когда я посмотрел вверх System.BadImageFormatException все, что я обнаружил, это то, что это относится к проблемам формата, но я работаю на 64-битной машине и скомпилировал все, включая формат c ++ dll в 64-битную, и я все еще получаю это исключение.

Есть ли известная проблема с OpenFileDialog, о которой я не знаю?

Вот пример моего кода:

private void WorkingFunction()
{
String filePath = @"C:\MyFile.txt";
// Calling the managed c++ functions...
}

private void NotWorkingFunction()
{
Microsoft.Win32.OpenFileDialog fileDialog = new Microsoft.Win32.OpenFileDialog();
Nullable<bool> result = fileDialog.ShowDialog();
if(result == true)
{
String filePath = fileDialog.FileName;
// Calling the managed c++ functions...
}
}

0

Решение

Вы можете попытаться скомпилировать код в x86 точно, что означает, что вы собираетесь запускать приложение в 32-битном режиме.

Или же вы можете использовать тот же класс, завернутый в формы Windows.

System.Windows.Forms.OpenFileDialog
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]