DotNetCLI@2 pack 似乎忽略了配置输入
DotNetCLI@2 pack seems to be ignoring configuration inputs
下面的 YAML 片段似乎没有按预期工作。
我在使用 windows-最新图像运行的管道中配置了它,它尝试恢复存储库中的所有项目,而不是只查看解决方案文件。
此外,它似乎完全忽略了 --no-restore 标志
- task: DotNetCoreCLI@2
displayName: Package to Staging directory
inputs:
command: pack
configuration: $(BUILD_CONFIGURATION)
projects: 'support-libs.sln'
packDirectory: $(Build.ArtifactStagingDirectory)
nugetConfigPath: 'sf-solution/nuget.config'
arguments: '--no-restore'
verbosityRestore: Minimal
出现在步骤日志中的命令是:
"C:\Program Files\dotnet\dotnet.exe" pack
d:\a\s\sf-solution\SampleProject\SampleProject.csproj --output
d:\a\a /p:Configuration=Debug --verbosity Detailed
上述项目甚至没有包含在代码段配置的 support-libs SLN 文件中。
The above project is not even included in the support-libs SLN file the snippet has configured
不确定为什么 DotNetCLI 任务打包项目,它不包含在 support-libs SLN 中。由于您没有在您的问题中分享您的项目文件结构和构建日志,因此我无法直接告诉您这个问题的原因。
但作为解决方法,您可以指定特定的项目文件而不是解决方案文件。此外,您还可以通过经典编辑器查看此任务:
它说明 要打包的 csproj 或 nuspec 文件的路径。
对于忽略配置输入问题,有一个选项不构建,因此,您可以将此参数添加到打包任务而不是参数--no-restore
:
- task: DotNetCoreCLI@2
displayName: 'dotnet pack'
inputs:
command: pack
packagesToPack: YourProjectPath&Name.csproj
nobuild: true
注意:在使用此包任务之前添加一个 DotNet 构建任务。
希望对您有所帮助。
我终于能够做我想做的事并将所有库打包到解决方案中,但是我不得不使用自定义命令而不是打包命令:
- task: DotNetCoreCLI@2
displayName: Package to Staging directory
inputs:
command: custom
custom: 'pack'
arguments: 'support-libs.sln -c=$(BUILD_CONFIGURATION) -o $(Build.ArtifactStagingDirectory)'
verbosityRestore: Minimal
verbosityPack: Minimal
feedsToUse: select
vstsFeed: personalnugetfeed
nuGetFeedType: internal
includeNuGetOrg: true
我也遇到了 Nuget 配置中的内部提要的授权问题,并且链接到该文件,即使是来自自定义命令,也有同样的问题。
明确说明应该从哪个 feed 进行恢复工作完美,我能够检索所有依赖项,无需使用 --no-restore 标志。
下面的 YAML 片段似乎没有按预期工作。
我在使用 windows-最新图像运行的管道中配置了它,它尝试恢复存储库中的所有项目,而不是只查看解决方案文件。
此外,它似乎完全忽略了 --no-restore 标志
- task: DotNetCoreCLI@2
displayName: Package to Staging directory
inputs:
command: pack
configuration: $(BUILD_CONFIGURATION)
projects: 'support-libs.sln'
packDirectory: $(Build.ArtifactStagingDirectory)
nugetConfigPath: 'sf-solution/nuget.config'
arguments: '--no-restore'
verbosityRestore: Minimal
出现在步骤日志中的命令是:
"C:\Program Files\dotnet\dotnet.exe" pack d:\a\s\sf-solution\SampleProject\SampleProject.csproj --output d:\a\a /p:Configuration=Debug --verbosity Detailed
上述项目甚至没有包含在代码段配置的 support-libs SLN 文件中。
The above project is not even included in the support-libs SLN file the snippet has configured
不确定为什么 DotNetCLI 任务打包项目,它不包含在 support-libs SLN 中。由于您没有在您的问题中分享您的项目文件结构和构建日志,因此我无法直接告诉您这个问题的原因。
但作为解决方法,您可以指定特定的项目文件而不是解决方案文件。此外,您还可以通过经典编辑器查看此任务:
它说明 要打包的 csproj 或 nuspec 文件的路径。
对于忽略配置输入问题,有一个选项不构建,因此,您可以将此参数添加到打包任务而不是参数--no-restore
:
- task: DotNetCoreCLI@2
displayName: 'dotnet pack'
inputs:
command: pack
packagesToPack: YourProjectPath&Name.csproj
nobuild: true
注意:在使用此包任务之前添加一个 DotNet 构建任务。
希望对您有所帮助。
我终于能够做我想做的事并将所有库打包到解决方案中,但是我不得不使用自定义命令而不是打包命令:
- task: DotNetCoreCLI@2
displayName: Package to Staging directory
inputs:
command: custom
custom: 'pack'
arguments: 'support-libs.sln -c=$(BUILD_CONFIGURATION) -o $(Build.ArtifactStagingDirectory)'
verbosityRestore: Minimal
verbosityPack: Minimal
feedsToUse: select
vstsFeed: personalnugetfeed
nuGetFeedType: internal
includeNuGetOrg: true
我也遇到了 Nuget 配置中的内部提要的授权问题,并且链接到该文件,即使是来自自定义命令,也有同样的问题。 明确说明应该从哪个 feed 进行恢复工作完美,我能够检索所有依赖项,无需使用 --no-restore 标志。