我似乎无法弄清楚是什么导致了Azure DevOps中的此问题。当我通过创建release分支将它们视为发布版本时,我将三个独立的项目配置为执行nuget push操作。 CI / CD将启动并自动创建/更新程序包。这在三个NuGet软件包中的两个上都可以正常工作。但是,我无法获得第三个软件包来读取csproj中的详细信息。我什至从两个工作示例中复制了构建管道,并验证了发布的工件显示nuspec文件不是我在csproj中指定的文件。
您可以看到我上次在9月19日发布了两个有效示例,并提供了有效的说明。但是,第三个没有像其他两个一样获得有效的描述(即使它在csproj中设置了)。管道完全相同,最近是否进行了更新以要求额外的配置来读取csproj文件的内容?
在Azure DevOps外部本地执行构建,并使用选项“在生成时生成NuGet程序包”将生成我想要的nuspec文件。我不确定为什么Azure DevOps不能用于该单个项目。
答案 0 :(得分:1)
我不确定这是否是NuGet for .NET Standard 2.1的错误,还是 还有其他问题。
Nuget.exe可以很好地支持.NET Standard 2.1
。我可以在自己的身边重现同样的行为。
零食包.net standard 2.0
:
然后我将目标框架从2.0更改为2.1,并重新生成项目,出现了未指定Description / Author的Warning NU5115。
零食包.net standard 2.1
:
解决方案:
请改用dotnet pack
命令。
Create and publish .NET standard package locally和Azure Devops Nuget task都建议将.NET Core CLI task与dotnet pack
命令一起用于SDK样式的项目,例如.Net Standard和.Net Core。
注意(来自Nuget任务)。
因此,可以考虑将Use .net core task
与dotnet pack
命令一起使用,它可以很好地读取项目文件。
答案 1 :(得分:0)
不确定根本原因是什么,但是第三个项目是.NET Standard 2.1,其他项目是.NET Standard 2.0。显然,这会导致NuGet Pack失败。但是,作为一种解决方法,我可以使用“在生成时生成NuGet软件包”选项,并且可以正常工作。在发布管道中,我使用该版本而不是NuGet Pack版本。现在包括说明,作者和我想要的其他重要信息。
我不确定这是NuGet for .NET Standard 2.1的错误还是其他错误。如果遇到此选项,请使用“在生成时生成NuGet软件包”,然后在发布管道中,浏览到该.nupkg文件,并用星号替换,以便将来版本使用。