
正文
自建Nuger Server拾遗
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
企业内部的包需要通过nuget来管理发布,或者一些不允许上外网的企业,通过自己的nuget服务器来使用nuget,都会考虑到自建一个nuget服务器。本文整理了一些有用的链接和使用心得,以备不时之需。
教程
- NuGet.Server的简单教程
- 官方文档, 注意以下几节即可:
- Creating and Publishing a Package
- Configuration File and Source Code Transformations
- Nuspec Reference
笔记
- 简单来说,就是创建一个配置文件给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文件下
- 一个例子不可能罗列所有情况,请详阅本文的链接的所有文档








