dotnet-campus / SourceYard

Add a NuGet package only for dll reference? By using dotnetCampus.SourceYard, you can pack a NuGet package with source code. By installing the new source code package, all source codes behaviors just like it is in your project.
MIT License
51 stars 12 forks source link

希望可以将源代码包引入的类型设置为 internal #48

Closed walterlv closed 4 years ago

walterlv commented 5 years ago

需求:

  1. 做一个库,对外发布 NuGet 包;
  2. 此库需要用到一些通用的工具类,但仅仅辅助完成此库中其他关键功能的实现;

问题:

  1. 如果此库对外公开时将源代码包的 API 也开放了,那么会导致泄漏一些非此库公开的 API,使得此库纯粹;
  2. 在以下情况下,此问题更为严重:
    • 此库仅仅实现很少功能,但源代码包却占了大多数 API
    • 此库与源代码包都是同一个作者,命名空间前缀相同,于是此库提供的 API 中同一个命名空间下会有很多不同种类的类型

解决:

参考:

lindexi commented 4 years ago

建议将这个行为作为一个依赖SourceYard的另一个库

lindexi commented 4 years ago

放在 https://github.com/dotnet-campus/dotnetCampus.SourceYard.Extras