美文网首页.Net Core
CXX程序员暴力理解.NetCore下的NuGet

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