企业内部的包需要通过nuget来管理发布,或者一些不允许上外网的企业,通过自己的nuget服务器来使用nuget,都会考虑到自建一个nuget服务器。本文整理了一些有用的链接和使用心得,以备不时之需。

教程

笔记

  • 简单来说,就是创建一个配置文件给msbuild来读取,以生成打包文件(*.nupkg)
  • 至于怎么生成,第一个教程已经给出了三种方式(nuget pack, msbuild以及vs自动打包)
  • 最后再nuget push到服务器。
  • 或者直接用GUI工具

示例

  • 一个配置文件*.nuspec(或叫清单文件)的例子

    <?xml version="1.0"?>
    <package >
    <metadata>
    <id>Zkx.Infrastruction</id>
    <version>0.0.9.1</version>
    <authors>Zkx</authors>
    <owners>Zkx</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>基础组件,包含框架和各种 Helper 类</description>
    <releaseNotes>
    <![CDATA[
    添加HelperDictionary
    ]]>
    <dependencies>
    <dependency id="Thrift" version="0.9.0.0" />
    </dependencies>
    </releaseNotes>
    <copyright>Copyright 2013</copyright>
    <tags>Zkx Infrastruction</tags>
    </metadata>
    <files>
    <file src="NugetPackage\*.*" target="content\" />
    <file src="..\CommonLibs\MyXls.SL2.dll" target="lib\net20" />
    <file src="..\CommonLibs\MyXls.SL2.dll" target="lib\net35" />
    <file src="..\CommonLibs\MyXls.SL2.dll" target="lib\net40" />
    <file src="..\CommonLibs\MyXls.SL2.dll" target="lib\net45" />
    </files>
    </package>
  • 其中:
    • id唯一
    • version是用来版本迭代的依据
    • dependencies是需要自动从nuget来添加的依赖,版本号规则点此链接
    • files演示了一些需要额外添加到包里的内容
      • 静态文件如js, xml等,还有一些XDT文件,放于content目录下
      • 自定义或第三方的dll文件,根据.net版本,分别置于lib文件下
      • 一个例子不可能罗列所有情况,请详阅本文的链接的所有文档
05-06 08:57