我在将NuGet包推入我们公司的GitLab包注册表时遇到了麻烦。
在我的NuGet包中,我打包了一些二进制文件。以下是Nuspec-file:
<?xml version="1.0" encoding="utf-8"?>
<package>
<metadata>
<id>test</id>
<version></version>
<authors>Company</authors>
<description>Demo Project</description>
</metadata>
<files>
<file src="../../__out/test/**" target="" />
</files>
</package>我构建了nuget包,它在CI中看起来很好(我已经下载并检查了nuget-file)
在构建之后,我将带有此CI作业的NuGet-Package推送到注册表。Gitlab CI:
deploy:
stage: deployNuGet
image: mcr.microsoft.com/dotnet/sdk:5.0-buster-slim
script:
- dotnet nuget add source "$CI_SERVER_URL/api/v4/projects/$CI_PROJECT_ID/packages/nuget/index.json" --name gitlab --username gitlab-ci-token --password $CI_JOB_TOKEN --store-password-in-clear-text
- dotnet nuget push __out/package/test.0.0.1.nupkg" --source gitlab这将导致以下配置项日志:
$ dotnet nuget add source "$CI_SERVER_URL/api/v4/projects/$CI_PROJECT_ID/packages/nuget/index.json" --name gitlab --username gitlab-ci-token --password $CI_JOB_TOKEN --store-password-in-clear-text
Package source with Name: gitlab added successfully.
warn : No API Key was provided and no API Key could be found for 'https://XXXX/api/v4/projects/XXXX/packages/nuget'. To save an API Key for a source use the 'setApiKey' command.
Pushing test.0.0.1.nupkg to 'https://XXXXXX/api/v4/projects/XXXXX/packages/nuget'...
PUT https://XXXXX/api/v4/projects/XXXXXX/packages/nuget/
Created https://XXXXX/api/v4/projects/XXXXXX/packages/nuget/ 780ms
Your package was pushed.这在一段时间内可以很好地退出,但现在我得到了不同的行为。这里有一个NuGet.Temporary.Package,而不是test包。

当我移动到错误符号上时,它显示以下消息:
Invalide Package: failed metadate extraction有没有人知道如何解决这个问题?谢谢!1月
发布于 2021-07-15 15:04:45
这是自我管理的AWS实例上的gitlab (14.0.x)错误。
还有一个MR来解决这个问题。
以下是解决方案https://gitlab.com/gitlab-org/gitlab/-/issues/335488#note_623985000的问题
https://stackoverflow.com/questions/68269773
复制相似问题