我已经使用Visual Studio 2017将我的一些类库转换为.NET Standard。这很容易,只需在原始项目中添加一个.NET Standard类库项目并添加其中的所有文件。现在.csproj文件甚至看起来像一个nuspec文件,带有包信息等。在项目选项中,有一个名为“Generate NuGet package on build”的复选框,我勾选了它。非常简单。
然而,我的类库的.NET Framework消费者现在会获得大量依赖项,我数了至少20个其他NuGet包被添加,其中大多数对我的库来说完全不必要。换句话说,“easy peasy”太容易了吗?
这只是我仅使用.NET Standard作为构建输出的副产品,我应该再次添加一个.NET Framework库吗?
例如,即使它们完全不必要,下列软件包也将被添加到使用我的库的项目中:
然而,我的类库的.NET Framework消费者现在会获得大量依赖项,我数了至少20个其他NuGet包被添加,其中大多数对我的库来说完全不必要。换句话说,“easy peasy”太容易了吗?
这只是我仅使用.NET Standard作为构建输出的副产品,我应该再次添加一个.NET Framework库吗?
例如,即使它们完全不必要,下列软件包也将被添加到使用我的库的项目中:
- System.Security.Cryptography.*
- System.Xml.*
- System.IO.*
等等,有很多包被添加了。我的库只是“崇高的”数组分析,并且不需要太多。
Visual Studio项目配置为目标.NET Standard 1.0,唯一可见的引用是“NETStandardLibrary”,因此并不像我自己添加了所有这些。
我已经检查了包,看起来它也没有列出所有这些。
我能只添加我需要的包而仍然以.NET Standard 1.0为目标吗?
我的类库在这里开源:https://github.com/lassevk/DiffLib
Nuget包在这里:http://www.nuget.org/packages/difflib/2017.4.24.2347