【问题标题】:Include my Nuget README in my Nuget Package在我的 Nuget 包中包含我的 Nuget README
【发布时间】:2019-11-27 10:52:24
【问题描述】:

我维护了一些小的 Nuget 包。

我在 git 存储库中有一个 Nuget README 文件,.nupkg 文件是 VS 基于“包”配置自动构建的,存储在 .csproj 文件中。

每当我需要发布软件包的新版本时,我都会在 Web UI 中将 .nupkg 文件上传到 nuget,然后它会要求我提供任何文档,此时我必须手动上传 README 文件.

有没有什么方法可以将 README 文件放入.nupkg,这样我就不必每次都手动上传了?

【问题讨论】:

  • 您可以通过 .nuspec 文件将 readme.txt 文件添加到 NuGet 包,或者如果您正在使用 NuGet's built-in Pack,则可以通过将项目添加到项目中。但是,您并没有获得丰富的 .md 文件格式。
  • 呸!第二个似乎真的很接近!我现在可以将 README.* 文件放入 nuget 包中(并确认它在那里,如果我在 NugetPackageExplorer 中打开它)。但是Nuget上传界面无法识别:(
  • 已向 NuGet.org 发送了一条消息,询问它应该如何工作。如果他们给出回应,将会更新。
  • 似乎计划允许 README.md 文件包含在 NuGet 包中。有一个规范处于审查状态 - github.com/NuGet/Home/wiki/…
  • Nuget 支持人员已确认我当前的工作流程是目前唯一可用的选项。但也指出了@MattWard 所链接的问题,作为“未来计划”。

标签: nuget nuget-package


【解决方案1】:

目前没有办法做到这一点,但它是 WIP。

正在审核的新规范:https://github.com/NuGet/Home/wiki/Embedding-and-displaying-NuGet-READMEs
此功能的问题:https://github.com/NuGet/Home/issues/6873

【讨论】:

    【解决方案2】:

    我通过 csprj 做到这一点。文件。 我创建了一个 .netstandard 项目并添加了一个 readme.txt。

    在 x.csproj 中添加以下内容

    <ItemGroup>
      <None Include="readme.txt" pack="true" PackagePath="." />
    </ItemGroup>
    

    第一次安装nuget时文件会显示在VS中。 互联网上有一篇文章描述了解决方案,但我现在找不到。

    这是我完整的 csproj

    <Project Sdk="Microsoft.NET.Sdk">
    
      <PropertyGroup>
        <TargetFrameworks>netstandard2.0;net471;net35</TargetFrameworks>
       .....
        <FileVersion>1.0.1.11</FileVersion>
        <AssemblyVersion>1.0.1.11</AssemblyVersion>
      </PropertyGroup>
    
      <ItemGroup>
        <PackageReference Include="NLog" Version="4.7.6" />
      </ItemGroup>
      <ItemGroup>
        <Compile Update="Properties\Resources.Designer.cs">
          <DesignTime>True</DesignTime>
          <AutoGen>True</AutoGen>
          <DependentUpon>Resources.resx</DependentUpon>
        </Compile>
      </ItemGroup>
    
      <ItemGroup>
        <None Include="readme.txt" pack="true" PackagePath="." />
      </ItemGroup>
    
      <ItemGroup>
        <EmbeddedResource Update="Properties\Resources.resx">
          <Generator>ResXFileCodeGenerator</Generator>
          <LastGenOutput>Resources.Designer.cs</LastGenOutput>
        </EmbeddedResource>
      </ItemGroup>
    
    </Project>
    

    【讨论】:

      【解决方案3】:

      NuGet 现在增加了对制作此 JustWork 的支持。

      问题线程公告:https://github.com/NuGet/Home/issues/6873#issuecomment-833829727 公告博文:https://devblogs.microsoft.com/nuget/add-a-readme-to-your-nuget-package/

      您需要做的就是使用PackageReadmeFile 标记在.csproj 中引用README.md 文件。如果 README.md 位于 git 根目录中(即 GitHub 自动检测它的位置),那么它将如下所示:

      <PackageReadmeFile>README.md</PackageReadmeFile>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-01-04
        • 1970-01-01
        • 1970-01-01
        • 2018-01-09
        • 1970-01-01
        • 2017-11-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多