【发布时间】:2019-03-21 22:53:57
【问题描述】:
我创建了一个测试项目以发布到我的 NuGet 源(在 Artifacts 中),但在 dotnet push 步骤中出现错误。我使用了 dotnet core 模板中的 classid 编辑器和默认步骤,并使用 nuget push 命令添加了一个新的 dotnet core 步骤。我收到此错误消息:
没有与搜索模式匹配的包。
【问题讨论】:
标签: .net .net-core azure-devops
我创建了一个测试项目以发布到我的 NuGet 源(在 Artifacts 中),但在 dotnet push 步骤中出现错误。我使用了 dotnet core 模板中的 classid 编辑器和默认步骤,并使用 nuget push 命令添加了一个新的 dotnet core 步骤。我收到此错误消息:
没有与搜索模式匹配的包。
【问题讨论】:
标签: .net .net-core azure-devops
如何正确设置 dotnet 核心类库以在 Azure DevOps 中发布到 NuGet 源?
当您收到此错误“没有与搜索模式匹配的包”时,这意味着 nuget push 任务没有获得 nuget 包文件。可能是未生成包或要发布的 NuGet 包的路径不正确。
所以,要解决这个问题,首先,我们需要确保我们已经生成了那个 nuget 包。要生成包,我们需要在管道中添加一个 nuget pack task 或在项目文件 .csproj 中添加以下属性:
<PropertyGroup>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
</PropertyGroup
我们可以检查该包是从构建日志生成还是使用copy 和publish build artifacts 任务生成。
如果生成了包,我们需要检查要发布的NuGet包的路径是否正确,我设置为$(System.DefaultWorkingDirectory)/**/*.nupkg,它可以正常工作:
注意:如果您使用 nuget pack 任务生成包,则要发布的 NuGet 包的路径应该是 nuget pack 任务中 Package 文件夹的路径。
希望这会有所帮助。
【讨论】:
问题似乎是项目引用的 .netstandard SDK 版本。我将所有内容从 2.0 更新到 2.2,并且 dotnet pack 命令现在可以使用。
【讨论】: