前面介绍了共享项目,现在继续讨论库——从库中创建NuGet包。使用.NET Core CLI工具和Visual Studio 2017,可以轻松创建NuGet包。
1. NuGet包和命令行
关于NuGet包的元数据信息可以添加到项目文件csproj中。要从命令行上创建NuGet包,可以使用dotnet pack命令:
dotnet pack --configuration Release
记住要设置配置。默认情况下会构建Debug配置。成功打包后,NuGet包就放在目录bin/Release或相关目录中,这取决于所选择的扩展名为.nupkg的配置文件。.nupkg文件是一个zip文件,包含带有附加元数据的二进制文件。可以将该文件重命名为zip文件,以查看其内容。
以将生成的NuGet包复制到系统的文件夹或网络共享中,使其可用于团队。样本复制到文件夹c:\mypackagez中。要使用这个文件夹,NuGet.config文件可以改为包含这个包源。也可以使用dotnet add package命令直接引用文件夹:
dotnet add package SampleLib --source c:\mypackage
2. 支持多个平台
.NET Standard 2.0已经增强为支持更多的API,它们在每个新的.NET平台上都可用。但是,对于某些应用程序来说,这仍然不够。而是可能需要通过旧库来使用.NET标准中没有的多个API,或者可能需要API之间不同的特性(如WPF、UWP和Xamarin)。.NET Core提供的特性也比.NET标准提供的功能多。
之前探讨了如何使用共享项目来支持不同的平台。另一种方法是使用相同的源代码创建不同的二进制文件,如下一个示例所示。</