美文网首页.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