2015-11-08 124 views
1

我在我的.NET 4 WinForms应用程序中使用托管扩展框架。在我的Windows 8上,在Hyper-V上全新安装Windows XP SP3,在Windows 7上以及在Win 8.1下通常无处不在的情况下,一切正常。MEF不适用于Windows 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,以防止装载任何的bug DLL的MEF扩展......?

+0

我会在另一台电脑上试用它。我们的进口(基于DLL)同时在Win 8.1和Win 10上工作。 – Dabblernl

+0

我已经在3台电脑上试过了。 2与Win 8.1和1与Win 10,他们都不能正确运行MSDN示例... –

+0

我下载了示例并尝试了它。这是工作。或许你一遍又一遍地犯了一些错误,但这并不符合你的智力正义:-)清理你的思想,明确说明并再试一次。 – Dabblernl

回答

4

找到原因 - 包含模操作的DLL默认被系统阻止,用户需要手动解锁才能使其工作。

这将是很好,如果视窗至少注意到用户在某种程度上,它阻止了文件中的一个,甚至要求它的用户...

无论如何,后手动解锁的DLL文件,一切工作正常:

screenshot of "unblock" option in Windows 8.1+

+0

你是我的救星! –

相关问题