C#---共享项目

1️⃣ 共享项目的创建

打开Visual Studio 2022 选择C# 选择 共享项目 模版

创建一个名称为 1_Shared 的共享项目

2️⃣ 共享项目的作用

2.1 什么是共享项目

共享项目是一组源代码文件的容器,它可以被其它项目添加共享项目引用,从而和其它项目编译在一起。

共享项目不能像类库项目一样被编译成 .dll 和 exe 文件。它可以想象成一个共享代码的文件夹。

其它项目引用 共享项目

其它项目应用共享项目编译之后

共享项目的代码被编译到项目dll里面

|----------|----------------------------------------------------------------------------------------|------------------------------------------------------|
| 特性 | 共享项目 (Shared Project) | 类库项目 (Class Library) |
| 输出 | 无输出dll | 输出dll 或 exe |
| 引用方式 | 添加引用共享项目 | 添加引用项目或程序集 |
| 编译过程 | 编译时 ,共享项目中的所有代码文件都会被直接复制 到引用它的项目中,并一起编译。 | 编译后 ,引用项目会依赖已经编译好的类库程序集。 |
| 条件编译 | 支持非常好 。可以在共享项目的代码中使用 #if ... #endif,并在每个引用它的项目中定义不同的编译符号,从而使代码在不同项目中表现出不同行为。 | 条件编译符号在类库自身项目中定义。引用它的项目无法改变类库内部的编译条件。 |
| 适用场景 | 需要在多个项目(如客户端和服务器)之间共享代码,但这些项目可能面向不同的平台(如 iOS, Android, WPF),并且需要少量平台特定的代码调整。 | 创建可重用的、逻辑独立的通用功能模块。希望模块有明确的版本和接口,并能被多个解决方案或团队使用。 |

2.2 共享项目使用案例

比如多个平台都有相同的逻辑,比如平台项目的主框架部分都有相同的逻辑和功能,但只有每个平台主界面不相同 这个时候可以 将各个平台相同的部分代码部分 抽取出来 作为共享项目,其它平台引用这个共享项目,然后共用框架逻辑,其它界面部分遵循其它平台的 部分。

相关推荐
君顾14 小时前
智慧零售实战指南:从技术架构到落地方案全解析
java·开发语言·零售
北域码匠4 小时前
高通滤波算法深度解析(High-Pass Filter)
stm32·算法·c#·数字信号处理·嵌入式开发·滤波算法·高通滤波
南棱笑笑生4 小时前
20260904实测给飞凌OK3576-C开发板刷入Rockchip原厂的IMG固件【使用飞凌的DTS】切换串口波特率为1.5Mbps
c语言·开发语言·rockchip
平头哥技术团队5 小时前
Day 10 | 工欲善其事:VS Code 配置与项目归档
android·开发语言·前端·javascript·html·交互
乌萨奇也要立志学C++5 小时前
【洛谷】kmp算法
开发语言·算法
传奇开心果编程5 小时前
【Rust入门知识点学与练】第4课:条件判断 if / else
开发语言·学习·rust
m0_380743876 小时前
给 Claude API 调用补上超时重试和错误分类
开发语言·人工智能·php
Draw Stars6 小时前
Git BASH安装教程
开发语言·git·bash
vortex56 小时前
一文讲透 Zsh 与 Bash 的区别
开发语言·bash
千谦阙听6 小时前
C++类和对象(中):默认成员函数、构造与析构、拷贝构造、运算符重载
开发语言·c++·学习