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

如何通过P1项目引用让P2访问其安装的私有NuGet包类?

实现通过P1项目引用让P2共享私有NuGet包的方法

可以实现,只需要调整P1的NuGet依赖配置,让依赖能通过项目引用传递给P2,具体步骤如下:

  • 配置P1的NuGet包依赖传递
    默认情况下,项目中安装的NuGet包依赖不会自动传递给引用它的项目(比如P2引用P1时,P1的NuGet包不会被P2继承)。你需要修改P1的.csproj文件,调整PackageReference的资产属性:

    <PackageReference Include="你的私有NuGet包名称" Version="当前版本号">
      <PrivateAssets>none</PrivateAssets>
    </PackageReference>
    

    PrivateAssets="none"表示这个NuGet包的所有资产(程序集、内容文件等)都可以传递给引用P1的项目,这样P2就能间接获取到该NuGet包的依赖。

  • 确保NuGet包的类型可被P2访问
    要保证你想在P2中使用的NuGet包内的类、方法都是public修饰的;如果P1对NuGet包的类型做了封装,也要确保P1暴露的封装接口/类是public的,这样P2才能正常访问。

  • 验证生效
    修改完P1的配置后,重新生成整个解决方案。此时P2不需要单独安装该私有NuGet包,就能直接使用其中的类和方法。后续更新NuGet包时,只需要在P1的.csproj中更新版本号,重新生成后P2会自动同步到最新的依赖版本。

注意事项

  • 如果私有NuGet包包含非托管库、构建脚本等特殊资源,可能需要额外配置P1的项目文件,确保这些资源能正常传递给P2;
  • 确保P1和P2的目标.NET框架版本兼容,否则可能出现依赖无法传递的兼容性问题。

内容的提问来源于stack exchange,提问作者PRI

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 00:40:06