WPF网络摄像头组件在.NET 4.0下崩溃

WPF网络摄像头组件在.NET 4.0下崩溃,.net,wpf,.net-4.0,webcam,wpf-4.0,.net,Wpf,.net 4.0,Webcam,Wpf 4.0,我有一个WPF网络摄像头组件的源代码,我正试图从.NET3.5移植到.NET4.0 在两个目标下都可以正常编译,但在.NET 4.0版本中,在使用System.Runtime.InteropServices.SehexException 0x80004005运行应用程序时会崩溃:外部组件在moniker.BindToObject BindCTX行引发异常,null,ref filterId,out filterObject;在这种方法中: internal static IBaseFilter

我有一个WPF网络摄像头组件的源代码,我正试图从.NET3.5移植到.NET4.0

在两个目标下都可以正常编译,但在.NET 4.0版本中,在使用System.Runtime.InteropServices.SehexException 0x80004005运行应用程序时会崩溃:外部组件在moniker.BindToObject BindCTX行引发异常,null,ref filterId,out filterObject;在这种方法中:

internal static IBaseFilter CreateFilter(string filterMoniker)
        {
            object filterObject = null;
            IBindCtx bindCtx = null;
            IMoniker moniker = null;

            int n = 0;

            if (CreateBindCtx(0, out bindCtx) == 0)
            {
                if (MkParseDisplayName(bindCtx, filterMoniker, ref n, out moniker) == 0)
                {
                    Guid filterId = typeof(IBaseFilter).GUID;
                    try
                    {
                        moniker.BindToObject(bindCtx, null, ref filterId, out filterObject);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex+"");
                    }

                    Marshal.ReleaseComObject(moniker);
                }
                Marshal.ReleaseComObject(bindCtx);
            }
            return filterObject as IBaseFilter;
        }
知道为什么以及如何修复它吗


这台相机是一台电脑,我在Windows XP SP2下工作。

我下载了代码,用4.0编译了它,它对我很有用。你确定你有你的系统知道的网络摄像头吗?也许您可以检查设备管理器以进行验证

如果我的相机没有插上电源,程序会抛出一个与你类似的异常


-Matt

相机是一款Genius Eye 110,连接良好,功能齐全。在.NET 3.5 SP1上编译和运行是可行的,而在4.0上则会引发我刚才提到的异常。您是否尝试添加到app.config字符串?@Eugene Cheverda我刚刚尝试将其添加到app.config中,但没有任何更改:我仍然收到异常。