MEF 不适用于 Windows 8.1 或更高版本的设备

MEF doesn't work on devices with Windows 8.1 or above

我在 .NET 4 WinForms 应用程序中使用托管扩展框架。在我的 Windows 8、在 Hyper-V 上全新安装 Windows XP SP3、在 Windows 7 以及通常低于 Win 8.1 的任何地方,一切都运行良好。

问题仅在Windows 8.1 或更高版本中出现 - 没有错误或异常,但没有找到插件。 我没有附加任何代码,因为我已经尝试 运行 来自 MSDN 的 MEF 官方示例应用程序,即使它在 8.1 (https://code.msdn.microsoft.com/windowsdesktop/Simple-Calculator-MEF-1152654e) 上也不起作用。主项目中定义的导出工作正常,但找不到来自 DLL 项目的导出。

我已经在几台机器上尝试了这两个应用程序,结果总是一样的 - 只要低于 Windows 8.1...

,一切都运行良好

Windows 8.1 中是否存在阻止从 DLL 加载 MEF 扩展的错误...?

找到原因-包含取模操作的DLL默认被系统屏蔽,需要用户手动解除屏蔽才能生效。

如果 Windows 至少注意到用户以某种方式阻止了其中一个文件,甚至询问用户这件事,那就太好了...

无论如何,手动解锁 DLL 后,一切正常: