以往做nuget包我们一般要么用命令行,要么用nuget的图形化界面去做,但是一些操作比较麻烦.比如引入命名空间,引入第三方nuget包.今天,我们来讲解下一种全新的构建方式.
环境:
win10
VS2015 企业版
.net 全家桶(.net framework,dnx,.NET core)
Why:
运用.net core+官方这种特殊类库项目,一切都可以用代码编辑完成,不需要做一些对我们来讲非常额外的工作,于是乎,构建变得无比简单.本人强烈建议以后做nuget类库的时候都用这样的方法.
步骤:
环境搭建好后,我们在visual C#里面,新建一个类库(程序包)
关于项目结构,参考参考链接,这里不做赘述.
目前.net core尚不完善,system.web 都没了,于是我们要对默认的项目设置进行调整.
打开project.json.这是项目描述,相当于以前nuget构建期间的xml,在框架节点,删除dotnet5.4
{
" version ": " 1.0.0-* ",
" description ": " FantasticCommonLibrary.Mvc.Core Class Library ",
" authors ": [ " Z " ],
" tags ": [ "" ],
" projectUrl ": "",
" licenseUrl ": "",
" frameworks ": {
" net45 ": {
" dependencies ": {
" UAParser ": " 2.1.0 "
},
" frameworkAssemblies ": {
" System.ComponentModel.DataAnnotations ": " 4.0.0.0 ",
" System.configuration ": " 4.0.0.0 ",
" System.Net.Http ": " 4.0.0.0 ",
" System.Web ": " 4.0.0.0 ",
" System.Web.Extensions ": " 4.0.0.0 "
}
},
" dotnet5.4 ": {
" dependencies ": {
" Microsoft.CSharp ": " 4.0.1-beta-23516 ",
" System.Collections ": " 4.0.11-beta-23516 ",
" System.Linq ": " 4.0.1-beta-23516 ",
" System.Runtime ": " 4.0.21-beta-23516 ",
" System.Threading ": " 4.0.11-beta-23516 "
}
}
},
" dependencies ": {
" FluentValidation ": " 6.1.0 ",
" Microsoft.AspNet.Mvc ": " 5.2.3 ",
" Newtonsoft.Json ": " 8.0.2 "
}
}
" version ": " 1.0.0-* ",
" description ": " FantasticCommonLibrary.Mvc.Core Class Library ",
" authors ": [ " Z " ],
" tags ": [ "" ],
" projectUrl ": "",
" licenseUrl ": "",
" frameworks ": {
" net45 ": {
" dependencies ": {
" UAParser ": " 2.1.0 "
},
" frameworkAssemblies ": {
" System.ComponentModel.DataAnnotations ": " 4.0.0.0 ",
" System.configuration ": " 4.0.0.0 ",
" System.Net.Http ": " 4.0.0.0 ",
" System.Web ": " 4.0.0.0 ",
" System.Web.Extensions ": " 4.0.0.0 "
}
},
" dotnet5.4 ": {
" dependencies ": {
" Microsoft.CSharp ": " 4.0.1-beta-23516 ",
" System.Collections ": " 4.0.11-beta-23516 ",
" System.Linq ": " 4.0.1-beta-23516 ",
" System.Runtime ": " 4.0.21-beta-23516 ",
" System.Threading ": " 4.0.11-beta-23516 "
}
}
},
" dependencies ": {
" FluentValidation ": " 6.1.0 ",
" Microsoft.AspNet.Mvc ": " 5.2.3 ",
" Newtonsoft.Json ": " 8.0.2 "
}
}
保存以后,就会发现引用下面少了最新的那个框架.由于沿用旧的4.5.1点框架,生成也不再有意外.
然后我们使用.net core的如下命令
cd <.xproj所在的那个目录>
:还原依赖项
dotnet restore
:打包
dotnet pack
:还原依赖项
dotnet restore
:打包
dotnet pack
之后在项目,bin/debug里面会看到2个文件:.nupkg和.symbols.nupkg.第一个文件就是我们想要的nuget包.至此,构建完成
本文转自94cool博客园博客,原文链接:http://www.cnblogs.com/94cool/p/5740260.html,如需转载请自行联系原作者