例如,我在项目A中使用了来自NuGet的库B:
引用:
<PackageReference Include="B" Version="1.0.0"/>
个
用途:
namespace A.Helpers
{
public interface Helper
{
A.Models.Output DoStuff(B.Input input);
}
}
并将其发布到NuGet.一段时间后,我注意到B使用了很多不同的不必要的依赖项,比如C、D、…、ZZZ,所以我的NuGetA也会传递性地引用它们.
如果我引用它,则添加PrivateAssets标记:
<PackageReference Include="B" Version="1.0.0" PrivateAssets="All"/>
个
则A的用户将失go 对类B.Input的访问权限
如何在不向最终用户传递不必要的依赖项C、D、……ZZZ的情况下发布库A,但仍允许使用类B.Input?
编辑:我想澄清的是,unnecessary在这里的意思是"我正在使用或运输的功能不需要".也就是说,我使用B中的矩阵和向量,但B也提供了处理图形和引用(如System.Drawing)的方法,我不愿进一步传递它