如何在同一Visual Studio解决方案中实现项目功能共享(无需二进制引用)
解决方案:无需二进制引用的C#项目依赖方式
直接添加项目引用
这是最便捷的替代方案,操作步骤如下:
- 在Visual Studio中打开目标解决方案
- 右键点击
Product.Client或Product.Server项目,选择添加 > 项目引用 - 在弹出的窗口里勾选
Product.General项目,点击确定
设置完成后:
- Visual Studio会自动维护项目间的依赖顺序,编译时优先构建
Product.General,再处理依赖它的项目 - 开发阶段无需提前手动编译
Product.General,修改通用代码后,客户端/服务端项目能实时感知变化,直接调试或编译 - 代码引用逻辑完全不变,不需要修改任何
using语句或业务代码
代码示例(无需修改原有代码)
General项目代码:
namespace Product.Customer.Configuration { public class SettingManager { // 共用功能实现 } }
Server项目代码:
using Product.Customer.Configuration; // 直接使用通用类 var settingManager = new SettingManager();
其他可选方案(按需选用)
- 本地NuGet源管理:将
Product.General打包为NuGet包,发布到本地NuGet源,再在客户端/服务端项目中安装该包。适合需要版本管控的场景,但配置流程比项目引用复杂。 - 共享项目(Shared Project):如果
Product.General仅包含代码文件、无需独立程序集,可以改为共享项目。共享项目的代码会直接嵌入到引用它的项目中,编译后不会生成单独的通用程序集,注意这种方式不适合需要独立发布通用组件的场景。
内容的提问来源于stack exchange,提问作者Dominique
相关产品推荐
相关产品推荐

