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

C#中独立Git仓库的Foo项目与Bar类库并行开发及部署方案问询

并行开发C#项目Foo与类库Bar的调试与部署方案

调试阶段:用项目引用替代NuGet包

  • 打开Foo解决方案,右键「管理NuGet程序包」,先移除已安装的Bar包
  • 右键Foo项目 → 「添加」→ 「项目引用」,选择本地Bar仓库中的Bar.csproj文件(确保Bar已克隆到本地,路径正确)
  • 配置完成后:
    • 修改Bar代码后,只需构建Bar项目,Foo会自动使用最新的Bar编译产物,无需打包发布
    • 调试Foo时可直接步进进入Bar内部逻辑,因为项目引用会包含调试符号文件(.pdb)
    • 两个Git仓库独立管理代码,各自提交互不干扰

解决本地NuGet包的痛点

如果需要用本地NuGet包测试(非直接项目引用),可按以下方式优化:

  • 在Bar的.csproj中配置自动生成唯一开发版本号,避免版本冲突:
    <PropertyGroup>
      <VersionPrefix>1.0.0</VersionPrefix>
      <VersionSuffix>dev.$([System.DateTime]::Now.ToString("yyyyMMddHHmm"))</VersionSuffix>
    </PropertyGroup>
    
    每次构建都会生成不同的开发版本,无需手动删除旧包
  • 在Foo的NuGet包管理中勾选「允许预发布版本」,可自动获取最新的开发版Bar包
  • 让Bar打包时包含调试符号,在.csproj中添加:
    <PropertyGroup>
      <IncludeSymbols>true</IncludeSymbols>
      <SymbolPackageFormat>snupkg</SymbolPackageFormat>
    </PropertyGroup>
    
    安装本地NuGet包时也能进行步进调试

部署阶段:正式NuGet包引入

  • Bar开发完成后,将正式版本推送到公司私有NuGet源或公共源
  • 在Foo解决方案中移除项目引用,通过NuGet安装Bar的正式版本
  • Bar中的契约类、扩展方法等共享代码会完整包含在正式包中,部署时直接依赖NuGet包即可

内容的提问来源于stack exchange,提问作者Brandon Piña

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 16:25:23