CXX程序员暴力理解.NetCore下的NuGet
作者:
GameBox | 来源:发表于
2017-06-10 16:07 被阅读0次起因:
- 最近想研究下 .net core,结果使用vscode的时候被nuget的事情卡住了,决定彻底搞清楚它,在此记录备查。
为什么使用NuGet:
- 从CXX的角度理解,我们需要使用很多其他类库吧,不管是静态 .lib(.a) 还是动态 .dll(.so)
- 同样C#里面也需要使用其他的一些类库,于是我们可以通过nuget来发布、下载、使用这些类库
- 你可以暂时粗暴的理解成nuget管理的东西就是那些静态或动态库,并且提供了一个大家公用的地方(NuGet仓库),分享这些类库。
创建一个NuGet包
- 其实就是生成自己的库,只记录使用NetCore的情况怎么创建,上传到NuGet仓库的步骤很简单就不多说了
- 步骤:
1 命令行进入要发布的库工程目录下,如果没有,直接用命令:dotnet new 出来的工程即可
2 编辑xxx.csproj,项目的工程文件,xml格式的,主要为了添加自己的库信息
加入以下信息属性:(可以不加,也就是库信息不全,但不影响使用)
xml
<PackageId>xxxEngine</PackageId>
<PackageVersion>0.1.0</PackageVersion>
<PackageTitle>xxxEngine Title</PackageTitle>
<Authors>Your Name</Authors>
<Owners>Owner Name</Owners>
<LicenseUrl>https://opensource.org/licenses/MIT</LicenseUrl>
<ProjectUrl>https://xxxEngine.github.io/xxx/</ProjectUrl>
<IconUrl>https://your.icon.com</IconUrl>
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
<Description>Your projects description.</Description>
<PackageReleaseNotes>test release of the package.</PackageReleaseNotes>
<Copyright>Copyright 2017 (C) Your Com</Copyright>
<PackageTags>tag1 tag2</PackageTags>
3 保存文件后运行:dotnet pack xxx.proj -c Release
* 需要的nupkg文件就已经生成了(bin目录下),可以选择上传到公共NuGet仓库分享给别人
#### 总结
* 自己遇到的问题主要是直接使用nuget命令和使用dotnet命令的问题,两者使用的配置文件不一样,以及Builder指向也不一样,如果使用dotnetcore的工程,就直接使用dotnetcore自带的nuget相关命令吧,不然会自找麻烦,以上步骤虽然看似简单,实际是多次试错后的最简方案。
本文标题:CXX程序员暴力理解.NetCore下的NuGet
本文链接:https://www.haomeiwen.com/subject/hygofxtx.html
网友评论