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

C# EmguCV和UWP-无法解析程序集或Windows元数据文件';System.Windows.Forms.dll';(Emgu.CV.UI),c#,uwp,visual-studio-2017,emgucv,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的联想Thinkpad笔记本电脑上运行了它 出于某种原因,当我尝试构建解决方案时 纯文本: XamlCompiler错误WMC1006:无法解析程序集或

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

出于某种原因,当我尝试构建解决方案时

纯文本:

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:Type universe无法解析程序集:System.Windows.Forms,版本=2.0.0.0,区域性=中立,PublicKeyToken=b77a5c561934e089

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

纯文本: 我拥有Visual Studio 2017在创建空白UWP应用程序时生成的所有默认文件。另外,我有一个文件名为RTGLDEMOOAPAP.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命名空间之间存在冲突。我无法删除对“Universal Windows”库的引用,因为它是我需要用于该项目的UWP框架的一部分

我做了一些研究,除了我找不到一个资源来说明这个项目涉及到EmguCV,脚本直接用C#编写,并且是为UWP而不是visualc#或.NET构建的

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


请在这里帮助我。

System.Windows.Forms
不适用于UWP项目,因为它是用户和GDI的包装,而用户和GDI都不适用于UWP


如果您只想在桌面上发布,则可以使用桌面网桥项目

不过,我不知道如何解决这个问题,因为这个项目肯定要为UWP构建,以便我们将应用程序部署到多个系统。仅使用桌面网桥还不足以满足我们的需要,尽管现在我可以从使用Visual C#或.NET控制台应用程序开始。但对于我正在努力的项目来说,它似乎已经过时了。您需要在非桌面设备上部署吗?现在不需要,但最终需要。我正在考虑使用Unity构建我目前正在开发的示例应用程序,因为它确实支持构建Android、iOS等项目。不过,它确实增加了一层抽象,可能会使项目有点难以管理。但是,它可能对整个项目有用,因为与OpenCV本身一样,Unity API有自己的UI库和将事件侦听器附加到接口的方法。不过,还有更简单的方法吗?我甚至在将OpenCV直接集成到Unity时发现了这一点。