自建Nuger Server拾遗

企业内部的包需要通过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文件下
      • 一个例子不可能罗列所有情况,请详阅本文的链接的所有文档

你可能感兴趣的:(server)