Код ведет себя странно, когда для платформы установлено значение «Любой ЦП, как проекты WPF»? - PullRequest
1 голос
/ 02 августа 2011

Этот код должен дать мне коллекцию объектов FilterInfo, представляющих подключенные устройства в выбранной категории, в данном случае это веб-камеры.

FilterInfoCollection collection = new FilterInfoCollection(FilterCategory.VideoInputDevice);

Я проверил это в консольном приложении, и оно работалоотлично, но когда я перенесу код в WPF, он возвращает только один объект.

Я попытался использовать его непосредственно в коде xaml и в модели представления, связанной с элементами управления xaml, но тот же результат.

Эточертовски расстраивает Спасибо заранее =)

РЕДАКТИРОВАТЬ:

Я нашел причину, проект WPF "Цель платформы" установлен на "Любой процессор", а приложение консоли установлено наx86.Когда я устанавливаю консольное приложение «Цель платформы» на «любой процессор», оно делает то же самое.

Но, к сожалению, проект WPF не будет запускаться при значении x86

Ответы [ 3 ]

0 голосов
/ 04 августа 2011

Вы пытались изменить Target Framework с 4.0 на 3.5? Потому что у меня была похожая проблема, и когда я изменил целевую среду, это было хорошо.

0 голосов
/ 04 августа 2011

Я попытался создать новый проект WPF в том же решении, и теперь оно работает. Иногда я ненавижу код со страстью ... = P

Спасибо за вашу помощь, хотя! Я буду держать глаза открытыми, если это случится снова.

0 голосов
/ 02 августа 2011

Здесь можно предположить, но похоже, что FilterInfoCollection возвращает разницу, основанную на том, являются ли драйверы x64 или x86.

Если вы принудительно скомпилируете его в режиме x86, он сможет получить все драйверы x86.

Любой режим ЦП будет выполняться в x64 или x86 в зависимости от установленной ОС.Если это 64-битная ОС, то она будет работать в режиме x64.Это означает, что он будет возвращать только драйверы на основе x64, и, похоже, в вашей системе установлен только один драйвер.

Что касается проблем при запуске приложения WPF с целевой платформой x86, вы должны предоставить более подробную информациюнапример, какие ошибки вы видите.Здесь не должно быть проблем: Установка целевого уровня платформы на x86 на моем ноутбуке x64 препятствует правильной загрузке некоторых типов WPF

...