azure-devops - 如何为 Nuget 工件配置 Azure Devops Pipeline 包名称
问题描述
我们设置了一个现有的 Devops 管道,以使用 .Net Core 任务将 .Net Standard 类库打包并推送为 Nuget 工件。我们正在尝试用使用 Nuget 任务的管道替换它——我们正在使用 Nuget Pack 和 Nuget Push。我们无法让 Nuget 任务创建的包名称与我们在使用 .Net Core 任务打包时使用的包名称相匹配。
.Net Core 任务从 .csproj 文件中指定的 PackageId 中提取包名称。Nuget 任务似乎是从项目的程序集名称中提取它。有没有办法用 Nuget 任务配置 pacakge 名称?
解决方案
对于您的问题,我没有具体的答案,但是如果您正在处理 Net core 项目,那么对我有用的是设置项目以在构建任务上生成 nuget。在 csproj 中查找GeneratePackageOnBuild。这将在每次使用您的 csproj 上的属性构建时创建 nuget。
如果您不设置AssemblyName,则包名称将与您的 csproj 文件名相同。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<Company>ACME inc</Company>
<Version>1.1.0</Version>
<AssemblyName>YourPackageID</AssemblyName>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
</PropertyGroup>
</Project>
您不需要打包任何东西,只需将 nupkg 推送到构建目录中即可。Nuget Push 任务只需要这样的正则表达式 - 路径可能包含多个正则表达式:
$(Build.SourcesDirectory)/**/**/*.nupkg;$(Build.SourcesDirectory)/**/**/**/*.nupkg;
推荐阅读
- css - 对齐
- javascript - 使用 Input + keyup + value 然后 giphy
- .htaccess - 获取友好的 URL 和查询数据库
- bootstrap-modal - 如何在点击标题时折叠
- http - 如何将自定义请求正文绑定到 twilio
- laravel - Laravel 有时验证规则不起作用
- ruby-on-rails - 如何使用carriervawe将文件内容保存到数据库中
- ios - React Native 中的原生模块:requiresMainQueueSetup
- excel - 如何将浏览文件名存储在数据库中
- spring-integration - 具有动态 URL、HTTP 方法和不同响应类型的 Spring Integration 出站网关方式