这是创建nuget包的好方法吗?

时间:2015-10-16 07:37:16

标签: nuget nuget-package nuspec

作为开发人员,我想知道哪个是创建nuget包的最佳方法?

  

1.NuGet Package Project(link

     

2.使用Nuget.exe使用.Nuspec(手动添加并手动更新)

任何关于此的指南。 目前我正在使用nuget.exe.Nuspec,但如果添加了任何新项目,我每次都必须手动更新.nuspec

还有其他好的选择吗?

3 个答案:

答案 0 :(得分:1)

您还可以通过对csproj文件运行nuget pack命令来构建NuGet包。可以在此处找到更多信息:Creating And Publishing A Package

答案 1 :(得分:0)

  

以下列方式创建nuget包

  1. https://www.nuget.org/
  2. 下载nuget.exe
  3. 创建空的spec文件(在项目根文件夹下执行以下命令)

    nuget spec

  4. 根据您的图书馆属性更新nuget规范文件 SomeLib.nuspec (使用任何文本编辑器)

  5. 创建一些文件夹 nugetPack / lib / net46 / ,然后将dll粘贴到此处;您想要制作nuget包

  6. 创建nuget包(在项目根文件夹下执行以下命令)

    nuget pack -basepath nugetPack SomeLib.nuspec

  7.   

    现在在项目中使用此nuget包

    1. 设置您创建的nuget包源
    2. 转到Visual Studio>工具> NuGet包管理器>套餐来源>这里添加你的nuget包源文件夹路径
    3. 右键单击并选择要使用nuget包的项目中的managae nuget包。
    4. 从右上角的下拉框中选择正确的包源。
    5. 搜索您的nuget包并安装。
    6.   

      通过NuGet Package Explorer创建nuget包的另一种很酷的方法   您可以从这里下载https://npe.codeplex.com/,然后只需填写表单并将nuspec文件保存到本地nuget包源文件夹。

           

      示例nuspec文件,其中有一些依赖

      <?xml version="1.0" encoding="utf-8"?>
      <package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
          <metadata>
              <id>your.package.name</id>
              <version>1.0.0</version>
              <title>package title</title>
              <authors>NG</authors>
              <owners>NG</owners>
              <requireLicenseAcceptance>false</requireLicenseAcceptance>
              <description>some description</description>
              <summary>some summary</summary>
              <copyright>open</copyright>
              <language>en-US</language>
              <tags>your package keyboards</tags>
              <dependencies>
                  <dependency id="Microsoft.AspNet.WebApi.Core" version="5.2.3" />
                  <dependency id="Microsoft.AspNet.WebApi.Client" version="5.2.3" />
                  <dependency id="Newtonsoft.Json" version="9.0.1" />
              </dependencies>
          </metadata>
      </package>
      

      Github README

答案 2 :(得分:0)

我是开发nuget包的新手(并发布在Stack Overflow上)。我开始使用nuget.exe命令行方法,该方法了解到:here。但是从到目前为止的经验来看,开发nuget包时有一个使用.NET Standard而不是.NET Framework的约定。特别是在nuget.org上。因此,在开发.NET Standard类库时,请在Visual Studio中的“项目”选项卡下签出项目属性。从构建开始,您将在左侧看到多个选项卡。单击包选项卡。现在,您将看到一种很好的方法来输入通常在尝试创建.nuspec文件时通常必须手动执行的所有属性。您需要确保将其完整填写,以免在上传到nuget或任何地方时出现标志。在github中创建您的存储库和文件,然后输入它们的URL。另外,imgur.com是托管图标图像的好地方。确保单击“生成Nuget程序包”复选框。瞧!现在构建您的库,您会注意到一个.nupkg文件。 This是最好的资源。