使用 NuGet 管理项目库 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jpush
V2EX    服务器

使用 NuGet 管理项目库

  •  2
     
  •   jpush 2017-01-19 14:56:02 +08:00 2961 次点击
    这是一个创建于 3265 天前的主题,其中的信息可能已经有所发展或是发生改变。
    <2>NuGet 简介

    NuGet 是一种 Visual Studio 扩展,它能够简化在 Visual Studio 项目中添加、更新和删除库(部署为程序包)的操作。 NuGet 程序包是打包成一个文件的文件集,扩展名是 . nupkg ,使用开放打包约定 (OPC) 格式。

    OPC 仅仅是具有某些元数据的 zip 文件的首字母缩写词。 事实上,您可能早已熟悉 OPC ,因为 Word 和 Excel 文档正是使用此格式。 如果您取一个 .docx 文件并将文件扩展名改为 .zip ,您实际可以打开它并浏览里面的内容。 . nupkg 文件同样如此。

    使用 NuGet 管理项目库 : https://msdn.microsoft.com/zh-cn/magazine/hh547106.aspx

    注册 NuGet

    注册地址: https://www.nuget.org/ 管理地址: https://www.nuget.org/account/Packages 上传地址: https://www.nuget.org/packages/upload

    下载和安装 NuGet

    下载地址: https://dist.nuget.org/index.html NuGetPackageExplorer 下载地址: https://github.com/NuGetPackageExplorer/NuGetPackageExplorer

    • 获取 API Key ,获取页面: https://www.nuget.org/account
    • 下载 NuGet.exe ,将设置机器的 PATH 环境变量,将其 NuGet.exe 的路径添加到 PATH 变量中。

    QQ 图片 20160414150237.png

    • 设置 API Key ,打开 Windows PowerShell ,找到 NuGet.exe 的路径,然后输入下面的命令: nuget setApiKey your-api-key

    项目库的设置

    • 在 Properties 下找到 AssemblyInfo.cs 。

    assemblyinfo.png

    • 编辑 Title , Description , Version 等内容
    using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // 有关程序集的一般信息由以下 // 控制。更改这些特性值可修改 // 与程序集关联的信息。 [assembly: AssemblyTitle("ConsoleApplication60")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("Microsoft")] [assembly: AssemblyProduct("ConsoleApplication60")] [assembly: AssemblyCopyright("Copyright Microsoft 2016")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] //将 ComVisible 设置为 false 将使此程序集中的类型 //对 COM 组件不可见。 如果需要从 COM 访问此程序集中的类型, //请将此类型的 ComVisible 特性设置为 true 。 [assembly: ComVisible(false)] // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID [assembly: Guid("d866cf73-5bfd-4e84-855b-79f6d3aae38d")] // 程序集的版本信息由下列四个值组成: // // 主版本 // 次版本 // 生成号 // 修订号 // //可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值, // 方法是按如下所示使用“*”: : // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyFileVersion("1.0.0.0")] 

    NuGet 发布项目库

    • 进入项目目录,找到 .csproj  文件,例如: cn.jpush.api.csproj
    • 进入 Windows PowerShell 命令行,在项目目录中运行 nuget spec

    spec.png

    • 查看生成的 .nuspec 文件,例如: cn.jpush.api.nuspec
    • 生成类库包,在项目目录运行 nuget pack yourproject.csproj

    pack.png

    • 查看生成的 .nupkg 文件,例如: cn.jpush.api.1.0.0.0.nupkg
    • 发布类库包,在项目目录运行 nuget push yourproject.1.0.0.0.nupkg

    push.png

    在新项目中使用 NuGet

    • 在项目->引用,右键选择 管理 NuGet 程序包

    QQ 图片 20160414145437.png

    • 搜索刚才上传的程序包名,即可下载使用。

    QQ 图片 20160414145711.png

    参考资料

    Creating and Publishing a Package https://docs.nuget.org/Create/Creating-and-Publishing-a-Package

    NuGet : https://www.nuget.org/

    使用 NuGet 管理项目库 : https://msdn.microsoft.com/zh-cn/magazine/hh547106.aspx

    手把手教你用 Nuget 管理自己的项目库: http://blog.jobbole.com/92150/

    作者:不知道自己是谁极光 http://www.jianshu.com/p/5d34df5902e8

    目前尚无回复
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5657 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 37ms UTC 06:34 PVG 14:34 LAX 22:34 JFK 01:34
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86