zoukankan      html  css  js  c++  java
  • 如何使用跨平台工具创建 NuGet 包(转)

    原文地址

    https://docs.microsoft.com/zh-cn/dotnet/articles/core/deploying/creating-nuget-packages

    内容

    对于 .NET Core 1.0,所有库都应以 NuGet 包方式发布。 实际上,这是所有 .NET 标准库的发布和使用方式。 可以使用 dotnet pack 命令轻松实现此操作。

    假设你刚编写了一个很棒的新库,并想通过 NuGet 发布。 你就可以使用跨平台工具创建一个 NuGet 包,完全照做就行! 下例假定使用一个名为 SuperAwesomeLibrary 的库,该库以 netstandard1.0 为目标。

    如果存在可传递的依赖项,也就是说,如果一个项目依赖于另一个项目,在创建 NuGet 包前,则需要确保使用 dotnet restore 还原整个解决方案的包。 否则将导致 dotnet pack 命令不能正常运行。

    确认包已还原后,可以导航到库所在的目录:

    $ cd src/SuperAwesomeLibrary

    然后,只需在命令行中输入一个命令:

    $ dotnet pack

    /bin/Debug 文件夹现在如下所示:

    $ ls bin/Debug
    
    netstandard1.0/
    SuperAwesomeLibrary.1.0.0.nupkg
    SuperAwesomeLibrary.1.0.0.symbols.nupkg

    请注意,这将生成能够进行调试的包。 如果想要生成二进制文件版本的 NuGet 包,只需添加 -c/--configuration 开关并使用 release 作为参数。

    $ dotnet pack --configuration release

    /bin 文件夹现在将包含一个 release 文件夹,后者包含的 NuGet 包为二进制文件版本:

    $ ls bin/release
    
    netstandard1.0/
    SuperAwesomeLibrary.1.0.0.nupkg
    SuperAwesomeLibrary.1.0.0.symbols.nupkg

    因此,现在可以使用此必需的文件发布 NuGet 包了!

    不要混淆 dotnet pack 和 dotnet publish

    务必注意,不是任何时候都涉及 dotnet publish 命令。 dotnet publish 命令用于在同一个包中部署具有所有依赖项的应用程序 - 而不是用于生成通过 NuGet 发布和使用的 NuGet 包。

  • 相关阅读:
    Codeforces 1230E
    扫描线求面积和周长 (模板,线段树)
    POJ2528
    线段树 (模板)
    Codeforces 1332B
    Codeforces 1279D
    Codeforces 1281B
    Codeforces 1288D
    8I
    8F
  • 原文地址:https://www.cnblogs.com/wolf-sun/p/6238829.html
Copyright © 2011-2022 走看看