我来带你一步步在 VS Code 里搭建出和图中一样的 C# 开发环境,并能成功运行代码。

C# 代码运行需要 .NET SDK,这是微软官方的开发工具包:
前往官网下载:
.NET SDK
选择你系统对应的版本(Windows/macOS/Linux),推荐下载 长期支持(LTS) 版本。
安装完成后,打开 VS Code 的终端(Ctrl+ 快捷键),输入以下命令验证安装:
dotnet --version
如果能输出版本号,说明安装成功。
打开 VS Code,在扩展市场(左侧方块图标)安装这两个扩展:
OpenCVIntro(和图中的项目名一致)。文件 → 打开文件夹。在 VS Code 终端中,输入以下命令创建一个控制台应用:
dotnet new console
执行后,VS Code 的文件资源管理器里会自动生成这些文件,和图中的结构完全对应:
Program.cs:你的主代码文件(图中打开的文件)OpenCVIntro.csproj:项目配置文件(和图中文件名一致)bin/ 和 obj/ 文件夹:编译生成的文件(和图中显示的一样)打开 Program.cs,把默认代码改成你图中的版本:
using System;
namespace ourNamespace
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}
}
点击 VS Code 顶部的 运行 → 启动调试(或按 F5),或在终端输入:
dotnet run
3.如果想使用插件直接安装 需要下载Code Runner插件
终端会输出 Hello, World!,说明代码成功运行了 ✅
为什么我的文件结构和图里不一样?
新版 .NET 6+ 的 dotnet new console 默认是顶级语句写法(没有 namespace 和 class),如果你想和图里的旧版结构完全一致,可以在创建项目时指定旧模板:
dotnet new console -lang C# -f net5.0
或者直接手动把代码改成图中的写法即可。
调试怎么配置?
第一次按 F5 运行时,VS Code 会自动生成 .vscode/launch.json 和 .vscode/tasks.json 文件,不需要手动配置,直接就能调试。
你图里的项目名是 OpenCVIntro,如果要在 C# 里用 OpenCV,可以通过 NuGet 安装包:
在终端输入:
dotnet add package OpenCvSharp4 dotnet add package OpenCvSharp4.runtime.win
之后就可以在代码里引用 OpenCV 命名空间,写图像处理代码了。
一句话:这是给你的 C# 项目安装「Emgu CV」NuGet 包,让你能在 C# 里直接用 OpenCV(图像处理/计算机视觉)功能。
我拆开讲清楚:
这是 .NET 命令行工具(CLI)的命令:
dotnet add package 包名
作用:
.csproj,加上:<PackageReference Include="Emgu.CV" Version="xxx" />
简单说:就是在命令行里装库,等同于 VS 里右键“管理 NuGet 包”→安装。
有了它,你在 C# 里可以直接写:
using Emgu.CV;
using Emgu.CV.CvInvoke;
Mat img = CvInvoke.Imread("test.jpg");
CvInvoke.Imshow("window", img);
就能读图片、显示、人脸识别、边缘检测、摄像头处理……全部 OpenCV 功能。
因为你项目叫 OpenCVIntro,就是要做 C# + OpenCV 入门。
只装 Emgu.CV 还不够(它只是“包装层”),Windows 下必须再装运行时:
dotnet add package Emgu.CV.runtime.windows
否则会报“找不到 opencv 原生 dll”。
dotnet add package → 安装 C# 库Emgu.CV → C# 版 OpenCV(图像处理/视觉)一句话:dotnet add package Emgu.CV.runtime.windows 是 Windows 专用的「原生运行时」包,专门带 OpenCV 的 .dll 文件;没有它,你的 C# 程序一用 Emgu.CV 就直接崩溃。
下面拆开讲,保证你彻底明白:
1. 先分清楚两个包
你装了两个东西:
1)Emgu.CV(核心托管库)
using Emgu.CV;、Mat、CvInvoke.Imread 这些类和方法2)Emgu.CV.runtime.windows(Windows 原生运行时)
opencv_world480.dll、cvextern.dll 等2. 为什么必须装这个?(最关键)
Emgu.CV 工作原理:
C# 代码(Emgu.CV 托管层)
↓调用
OpenCV C++ 代码(在 .dll 里)
Emgu.CV → 只有“说明书”,没有“干活的工人”无法加载 DLL“opencv_worldxxx.dll”
或
Emgu.CV.CvInvoke 的类型初始值设定项引发异常
runtime.windows → NuGet 自动把所有 OpenCV 原生 DLL 复制到输出目录,程序才能真正跑起来3. 这条命令的意思
dotnet add package Emgu.CV.runtime.windows
dotnet add package:给当前项目安装 NuGet 包Emgu.CV.runtime.windows:Windows 平台的 Emgu CV 原生运行时包等价于:
我要在 Windows 上用 Emgu CV,请把所有必需的 OpenCV DLL 都装好。
4. 总结(超级精简版)
要不要我给你一段最小示例代码,你直接复制就能测试图片读取+显示,确认两个包都装对了?
以上就是在VScode使用C#并且调用opencv库的流程步骤的详细内容,更多关于VScode使用C#并调用opencv库的资料请关注本站其它相关文章!
您可能感兴趣的文章: