问题:
在尝试将NuGet软件包构建并推送到GitHub nuget软件包时,出现“指定的源'github'无效”错误。
有人知道为什么吗?或者,源应该是什么,我在GitHub文档中看不到有关此值的任何信息,甚至看不到将托管我的软件包的最终URL(我希望它在创建一个时会显示在“软件包”选项卡中)
问题详细信息:
我刚刚看到您的GitHub现在有Actions,因此您可以在合并更改时构建/测试代码。
我还看到您现在还可以发布NuGet包并将其托管在GitHub中。
看下面的截图,看来应该很容易
我花了一段时间才意识到我需要创建一个Action来将该代码放入...,所以这是我的action代码(yml)
现在,此操作在我提交时运行,并且全部传递到最后一行,以推送到github。我收到错误消息 “指定的源'github'无效。请提供有效的源 ”
答案 0 :(得分:1)
您需要在 Nuget 配置中将 GitHub 添加为资源
您可以使用以下命令行:
<块引用>dotnet nuget add source --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 中查看更多信息。
该命令行会将源代码附加到您的配置文件中
答案 1 :(得分:0)
那么,您的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"
的来源,则命令将失败。
您可以在带有NuGet here
的GitHub软件包上找到更多信息。