【问题标题】:loaderlock MDA - later in the application executionloaderlock MDA - 稍后在应用程序执行中
【发布时间】:2011-07-17 12:35:57
【问题描述】:

这是我在运行我的应用程序时遇到的问题,它不在任何启动路由中,而是在很久以后:

托管调试助手“LoaderLock”在“C:\Projects\VideoPhill\PlayerRAC\Recorder\VidePhill Recorder Test\bin\x86\Debug\VideoPhillRecorder.vshost.exe”中检测到问题。 附加信息:DLL 'C:\Windows\assembly\GAC\Microsoft.DirectX.DirectSound\1.0.2902.0__31bf3856ad364e35\Microsoft.DirectX.DirectSound.dll' 正在尝试在 OS Loader 锁内进行托管执行。不要尝试在 DllMain 或图像初始化函数中运行托管代码,因为这样做会导致应用程序挂起。

为什么?去哪里看?我在调试时引起了我的问题,而不是在运行时。

【问题讨论】:

    标签: c# interop


    【解决方案1】:

    MDA 擅长发出虚假警告。显然,在加载 DirectX 包装器时,CLR 已经加载并初始化,您的程序实际上并没有挂起。 Debug + Exceptions,展开 Managed Debugging Assistants 节点并取消勾选“LoaderLock”,这样它就不会再唠叨你了。

    请避免在 MDX 上花费大量精力,它在很久以前就被宣布过时了。由 XNA 框架取代。也有一些开源包装器(SlimDX、SharpDX、DirectShow.NET)。我无法评论他们的实力。

    【讨论】:

    • 我非常喜欢 DirectShow.NET 并喜欢它。 MDX?甚至不知道它是什么:)
    • MDX = 托管 DirectX,您正在使用什么。
    • 是的 - 真的 - 我在里面组合了很多东西 - 这个功能没有包含在 DirectShow.NET 中......
    猜你喜欢
    • 2010-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-01
    • 2011-07-16
    • 1970-01-01
    相关资源
    最近更新 更多