【问题标题】:Getting error when using GitHub Actions to push the nupkg to my GitHub packages使用 GitHub Actions 将 nupkg 推送到我的 GitHub 包时出错
【发布时间】:2020-05-23 16:22:54
【问题描述】:

问题:

尝试构建 NuGet 包并将其推送到 GitHub nuget 包时,我收到“指定的源 'github' 无效”错误。

有人知道为什么吗?或者,源应该是什么,我在 GitHub 文档中看不到有关此值的任何内容,甚至是托管我的包的最终 url(我希望它只会在创建一个包时显示在包选项卡中)

问题详情:

我刚刚看到您的 GitHub 现在有 Actions,因此您可以在合并更改时让您的代码构建/测试。

我还看到,您现在还可以发布 NuGet 包并将其托管在 GitHub 中。

看下面的截图,应该很容易做到

我花了一段时间才意识到我需要创建一个动作来将此代码放入...所以这是我的动作代码 (yml)

现在,这个动作在我提交时运行,并且一直持续到最后一行,用于推送到 github。我收到一个错误“指定的源 'github' 无效。请提供有效的源

【问题讨论】:

    标签: github nuget-package github-actions manage-nuget-packages


    【解决方案1】:

    那么,你的NuGet.Config 是什么?我可以想象给出错误消息,其中没有名为github 的源。您需要发布到配置中实际存在的源,否则nuget 怎么知道发布到哪里?

    NuGet.Config 文件示例可能如下所示:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <packageSources>
        <add key="SomeOtherSource" value="https://some.source.maybe.jfrog.com/nuget/nuget-local" />
        <add key="NuGet" value="https://api.nuget.org/v3/index.json" />
      </packageSources>
    </configuration>
    

    如果您没有key="github" 的来源,您的命令将失败。

    您可以在 GitHub Packages w/NuGet here找到更多信息

    【讨论】:

      【解决方案2】:

      您需要将 GitHub 作为资源添加到 Nuget 配置中

      您可以使用以下命令行:

      dotnet nuget 添加源 --username USERNAME --password ${{ secrets.GITHUB_TOKEN }} --store-password-in-clear-text --name github "https://nuget.pkg.github.com/OWNER/index.json"

      其中 GITHUB_TOKEN 也可以是 PAT 令牌, 查看official documentation中的更多信息。

      该命令行会将源附加到您的配置文件中

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-12-18
        • 2020-12-08
        • 2020-03-25
        • 2021-10-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多