news 2026/8/27 20:50:58

如何用 VS Code + C# Dev Kit 创建类库项目并在主项目中引用它?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何用 VS Code + C# Dev Kit 创建类库项目并在主项目中引用它?

如何用 VS Code + C# Dev Kit 创建类库项目并在主项目中引用它?

1. 准备工作

确保已安装:

  • C# Dev Kit扩展
  • .NET SDK(运行dotnet --version确认)

2. 创建解决方案和项目

方式一:使用命令行创建

# 1. 创建解决方案目录mkdirMySolutioncdMySolution# 2. 创建解决方案dotnet new sln -n MySolution# 3. 创建控制台主项目dotnet new console -n ConsoleApp# 4. 创建类库项目dotnet new classlib -n ClassLibrary# 5. 将项目添加到解决方案dotnet slnaddConsoleApp/ConsoleApp.csproj dotnet slnaddClassLibrary/ClassLibrary.csproj# 6. 添加项目引用dotnetaddConsoleApp/ConsoleApp.csproj reference ClassLibrary/ClassLibrary.csproj

方式二:使用 VS Code GUI 创建

  1. 打开命令面板(Ctrl+Shift+P)

  2. 创建解决方案

    .NET: Create New Solution
  3. 选择项目模板

    • 先选择 “Console Application”
    • 命名项目为ConsoleApp
  4. 再添加类库项目

    • 右键解决方案 → “Add New Project”
    • 选择 “Class Library”
    • 命名项目为ClassLibrary

3. 项目结构

完成后目录结构应如下:

MySolution/ ├── MySolution.sln ├── ConsoleApp/ │ ├── ConsoleApp.csproj │ ├── Program.cs │ └── ... └── ClassLibrary/ ├── ClassLibrary.csproj ├── Class1.cs └── ...

4. 配置项目引用

如果使用命令行已添加引用,跳过此步

如果需要在 GUI 中添加引用:

  1. 打开解决方案视图(左侧边栏)
  2. 右键 ConsoleApp 项目→ “Add Project Reference”
  3. 勾选 ClassLibrary 项目

或者在ConsoleApp.csproj中手动添加:

<ItemGroup><ProjectReferenceInclude="../ClassLibrary/ClassLibrary.csproj"/></ItemGroup>

5. 编写代码示例

ClassLibrary/Class1.cs

namespaceClassLibrary{publicclassCalculator{publicintAdd(inta,intb)=>a+b;publicintMultiply(inta,intb)=>a*b;}}

ConsoleApp/Program.cs

usingClassLibrary;varcalculator=newCalculator();Console.WriteLine($"3 + 5 ={calculator.Add(3,5)}");Console.WriteLine($"3 * 5 ={calculator.Multiply(3,5)}");

6. 构建和运行

方法一:使用 VS Code

  1. F5直接运行(已配置好调试)
  2. 或使用命令面板执行.NET: Run Project

方法二:使用命令行

cdConsoleApp dotnet run

7. 调试配置

VS Code 会自动生成.vscode/launch.json,配置类似:

{"configurations":[{"name":".NET Core Launch (console)","type":"coreclr","request":"launch","preLaunchTask":"build","program":"${workspaceFolder}/ConsoleApp/bin/Debug/net8.0/ConsoleApp.dll","args":[],"cwd":"${workspaceFolder}/ConsoleApp"}]}

常见问题解决

  1. 找不到命名空间

    • 确保类库是public访问级别
    • 重新构建:dotnet build
  2. 项目引用未生效

    # 清理并重新构建dotnet clean dotnet build
  3. VS Code 未检测到更改

    • 重启 VS Code
    • 重新加载窗口 (Ctrl+Shift+P → “Developer: Reload Window”)

建议的工作流程

  1. 始终从解决方案根目录打开

    code MySolution
  2. 使用解决方案视图管理项目

    • 添加/移除项目
    • 管理项目引用
    • 查看项目依赖
  3. 利用 C# Dev Kit 功能

    • 测试资源管理器:运行单元测试
    • 依赖关系图:可视化项目依赖
    • IntelliCode:AI 辅助编码

这样你就有了一个完整的工作环境,可以在类库中编写共享代码,在控制台程序中使用它。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/27 3:45:20

CLI形态的智能编程

CLI形态的智能编程&#xff0c;是指把AI编程能力做成“命令行工具&#xff08;Command-Line Interface&#xff09;”&#xff0c;让开发者在终端里直接敲自然语言指令&#xff0c;就能完成写代码、改Bug、跑测试、部署等任务&#xff0c;而不必打开图形界面或IDE。它的核心特点…

作者头像 李华
网站建设 2026/8/27 22:36:26

说说Redis的单线程架构

回答框架建议 一句话概括核心&#xff1a;先给出精准的定义&#xff0c;纠正常见误解。详细阐述“单线程”的含义&#xff1a;具体是哪里单线程。深入分析为什么采用单线程还能如此高效&#xff1a;这是回答的精华部分。客观讨论单线程模型的优缺点&#xff1a;体现你的辩证思考…

作者头像 李华
网站建设 2026/8/27 15:26:14

MSF的基础使用

以两个windows主机层面的漏洞&#xff0c;简单演示一下msf框架的使用。 MS08-067 简介 影响范围&#xff1a;MS08-067漏洞会影响Windows 2000/XP/Server 2003/Vista/Server 2008的各个版本&#xff0c;甚至还包括测试阶段的Windows 7 Pro-Beta。 漏洞产生的原因及攻击效果&…

作者头像 李华
网站建设 2026/8/26 4:21:27

[技术讨论] 三极管高低温特性测试

三极管控制电路是很常见的&#xff0c;但是设计不好的时候&#xff0c;也会导致电路正常的工作。比如下面两个电路&#xff0c;仅仅是集电极电阻不一样&#xff0c;也就是流过集电极的电流不一样&#xff0c;最后仿真的结果就会显示三极管BE的压降不相同&#xff0c;一个是0.77…

作者头像 李华
网站建设 2026/8/27 1:29:53

Semgrep终极指南:快速掌握跨平台静态代码分析利器

Semgrep终极指南&#xff1a;快速掌握跨平台静态代码分析利器 【免费下载链接】semgrep Lightweight static analysis for many languages. Find bug variants with patterns that look like source code. 项目地址: https://gitcode.com/GitHub_Trending/se/semgrep 告别…

作者头像 李华
网站建设 2026/8/26 15:38:38

LangChain RAG-MultiVector实现多向量检索文档

01. 多表征/向量索引多个维度记录信息 等同于为文档块生成 多个向量&#xff0c;支持的方法如下&#xff1a;把文档切割成更小的块&#xff1a;通过检索更小的块&#xff0c;但是查找其父类文档&#xff08;ParentDocumentRetriever&#xff09;。摘要&#xff1a;使用 LLM 为每…

作者头像 李华