ROS交流群
ROS Group
产品服务
Product Service
开源代码库
Github
官网
Official website
技术交流
Technological exchanges
激光雷达
LIDAR
ROS教程
ROS Tourials
深度学习
Deep Learning
机器视觉
Computer Vision

如何在nuget上发布自己软件包



  • nugetC# 的包管理工具。我们自己写的常用的项目可以打包发布上去,这样以后添加依赖就很方便。

    首先需要设置项目的nuspec文件,这个文件用来给软件包添加一些额外信息,展示在nuget上。假如我们的项目叫做UpdaterLib那么就添加UpdaterLib.nuspec文件。下面是文件内容的例子。

    <?xml version="1.0"?>
    <package >
      <metadata>
        <id>Randoms.Updater.UpdaterLib</id>
        <version>$version$</version>
        <title>$title$</title>
        <authors>Randoms</authors>
        <owners>Randoms</owners>
        <licenseUrl>https://opensource.org/licenses/MIT</licenseUrl>
        <projectUrl>https://github.com/BlueWhaleRobot/updater</projectUrl>
        <requireLicenseAcceptance>false</requireLicenseAcceptance>
        <description>A simple software update tool</description>
        <releaseNotes>Use commit message, instead of tags</releaseNotes>
        <copyright>Copyright 2018</copyright>
        <tags></tags>
      </metadata>
    </package>
    

    然后在项目的AssembleInfo文件中设置文件属性

    using System.Reflection;
    using System.Runtime.CompilerServices;
    using System.Runtime.InteropServices;
    
    // 有关程序集的一般信息由以下
    // 控制。更改这些特性值可修改
    // 与程序集关联的信息。
    [assembly: AssemblyTitle("updaterLib")]
    [assembly: AssemblyDescription("A simple software update tool")]
    [assembly: AssemblyConfiguration("")]
    [assembly: AssemblyCompany("Bluewhale Robot")]
    [assembly: AssemblyProduct("updaterLib")]
    [assembly: AssemblyCopyright("Copyright ©  2018")]
    [assembly: AssemblyTrademark("bwbot")]
    [assembly: AssemblyCulture("")]
    
    // 将 ComVisible 设置为 false 会使此程序集中的类型
    //对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
    //请将此类型的 ComVisible 特性设置为 true。
    [assembly: ComVisible(false)]
    
    // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
    [assembly: Guid("13b1749f-dbfb-49fb-a6ac-aca7b57ffe35")]
    
    // 程序集的版本信息由下列四个值组成: 
    //
    //      主版本
    //      次版本
    //      生成号
    //      修订号
    //
    // 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号
    //通过使用 "*",如下所示:
    // [assembly: AssemblyVersion("1.0.*")]
    [assembly: AssemblyVersion("1.0.0.13")]
    [assembly: AssemblyFileVersion("1.0.0.13")]
    
    

    创建完成之后,我们调用nuget pack生成nupkg软件包

    nuget pack .\updaterLib\updaterLib.csproj
    

    后面的参数是你的项目文件路径

    然后注册nuget开发账号,同时生成api key。

    在本地设置api key

     nuget setApiKey oy2igbrx3ql44eepafpjreabyiwqy
    

    发布软件包

    nuget push YourPackage.nupkg -Source https://api.nuget.org/v3/index.json
    

    发布成功后就能在自己nuget管理界面看到软件包了。再等一段时间就会自动同步到visual studio的nuget服务器里面。以后添加依赖就可以像正常的nuget软件一样了。


Log in to reply