You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS2017 for Mac中缺失System.Deployment文件问题求助

解决Visual Studio 2017 for Mac中Emgu CV项目的引用缺失问题

我来帮你搞定VS2017 for Mac运行Emgu CV演示项目时遇到的这些问题,先从你卡住的System.Deployment缺失说起:

1. 处理System.Deployment引用缺失的问题

首先得明确:System.Deployment是Windows专属.NET Framework里的程序集,主要用于ClickOnce部署功能,Mac平台的.NET环境(包括VS for Mac支持的.NET Core/跨平台框架)根本没有这个组件——这就是你找不到它的原因。

解决思路分两种:

  • 如果项目不需要ClickOnce部署:直接移除对System.Deployment的引用,然后检查代码里有没有用到这个程序集的类(比如ApplicationDeployment),如果有,要么注释掉这部分非核心代码,要么替换成Mac兼容的部署逻辑。
  • 如果必须保留相关功能:考虑把项目切换为.NET Framework(但VS2017 for Mac对.NET Framework的支持有限,可能需要调整项目类型),不过更推荐改用跨平台部署方案替代ClickOnce。

2. 解决Emgu.CV.MatInvoke类型初始值设定项异常

这个异常和Emgu CV的非托管本地库加载失败直接相关,和你之前的引用问题也有关联,给你几个实用排查步骤:

  • 用NuGet自动管理依赖:别手动添加引用了,右键项目→「添加」→「添加NuGet包」,搜索Emgu.CV安装对应稳定版本,NuGet会自动配齐所有依赖(包括Emgu.CV.Ul这类组件),比手动找靠谱多了。
  • 匹配框架版本:确保你安装的Emgu CV版本和项目的.NET目标框架对应(比如项目是.NET Core 2.0,就装支持该版本的Emgu CV包)。
  • 检查本地库复制设置:Emgu CV依赖非托管库,右键这些本地库→「属性」,把「复制到输出目录」设为「始终复制」,这样运行时才能正确加载。

3. 手动添加Emgu CV引用的正确姿势

如果坚持手动添加,别去.NET程序集列表里找:

  • 打开你下载的Emgu CV安装包,找到对应MacOS平台、对应项目框架版本的目录(比如Emgu.CV/lib/netstandard2.0),这里面包含所有需要的组件(包括Emgu.CV.Ul.dll),直接从这里添加引用就行。

内容的提问来源于stack exchange,提问作者m.k

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:29:00