运用.net core配合VS 2015制作nuget包
from:http://www.cnblogs.com/zeusro/p/5171084.html
以往做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包.至此,构建完成
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)