EmguCV和UWP - 无法解析程序集或Windows元数据文件'System.Windows.Forms.dll'(Emgu.CV.UI)

时间:2018-01-26 21:26:04

标签: c# uwp visual-studio-2017 emgucv

我正在编写一个示例UWP程序,它使用EmguCV(一个用VB,C#,.NET等编写的程序的OpenCV包装器),看看我是否可以在一个项目的UWP应用程序中使用它我是继续努力。我正在使用Visual Studio 2017社区和EmguCV 3.3.0.2824,我下载了Windows安装程序并在带有Windows 10 Enterprise x64的Lenovo Thinkpad笔记本电脑上运行它。

出于某种原因,当我尝试构建解决方案时,I get these two compiler errors in this photo.

明文:

XamlCompiler错误WMC1006:无法解析程序集或Windows元数据文件'System.Windows.Forms.dll'

C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Community \ MSBuild \ Microsoft \ WindowsXaml \ v15.0 \ 8.2 \ Microsoft.Windows.UI.Xaml.Common.targets(354,5 ):Xaml内部错误错误WMC9999:类型Universe无法解析程序集:System.Windows.Forms,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089。

为什么Emgu.CV.UI与UWP API中的UI命名空间之间存在程序集冲突?如何在我的应用中启用这两项功能?

This photo is what the Solution Explorer looks like.

明文: 我有创建空白UWP应用程序时Visual Studio 2017生成的所有默认文件。另外,我有一个名为RTG_Demo_App.dll的文件,其中包含一些用C ++编写的使用OpenCV的代码。在References组中,我引用了Emgu.CV.UI和Emgu.CV.World。

我正在使用默认代码App.xaml.cs以及MainPage.xaml.cs,除了我有以下几行:

using Emgu.CV;
using Emgu.CV.Structure;
using Emgu.CV.UI;

在做了一些研究和实验之后,我发现的根本原因是对Emgu.CV.UI(Emgu.CV.UI.dll)的引用与UWP库中的UI命名空间之间存在冲突。我无法删除对“通用Windows”库的引用,因为它是我项目所需的UWP框架的一部分。

我确实做了一些研究,除了我无法找到项目涉及EmguCV的资源,其中脚本直接用C#编写,并且是为UWP而不是Visual C#或.NET构建的。

我在这里要完成的是一个使用OpenCV的项目,目标是UWP,脚本是C#。 C#不支持OpenCV,所以我使用的是EmguCV。

请帮帮我。

1 个答案:

答案 0 :(得分:0)

System.Windows.Forms不适用于UWP项目,因为它是User& amp;的包装器。 GDI,它们都不适用于UWP。

如果您只想在桌面上发布,则可以使用Desktop Bridge项目。