【发布时间】:2022-01-18 00:43:20
【问题描述】:
我正在尝试为项目设置 Azure 管道,但我的 yml 中的 nuget restore 命令失败。以下是完整的错误:
[错误] nuget 命令失败,退出代码(1) 和错误(D:\a\1\s\UDesign\Backup\UDesign\UDesign.csproj(190,11): 错误 MSB4226: 导入的项目"找不到 C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets。另外,试图找到“Microsoft\VisualStudio\v10 .0\WebApplications\Microsoft.WebApplication.targets" 在 $(MSBuildExtensionsPath32) 的后备搜索路径中 - "C:\Program Files (x86)\MSBuild" 。这些搜索路径在 "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\msbuild.exe.Config"。确认声明中的路径是正确的,并且该文件存在于磁盘上的任一搜索路径中。) ##[error]包恢复失败
几乎所有关于此错误的帖子都在 YML 中的 Build 命令上,但在 Nuget Restore 上却失败了:
YML 下面:
# .NET Desktop
# Build and run tests for .NET Desktop or Windows classic desktop solutions.
# Add steps that publish symbols, save build artifacts, and more:
# https://docs.microsoft.com/azure/devops/pipelines/apps/windows/dot-net
trigger:
- master
pool:
vmImage: 'windows-latest'
variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
steps:
- task: NuGetToolInstaller@1
- task: NuGetCommand@2
inputs:
command: 'restore'
restoreSolution: '$(solution)'
feedsToUse: 'select'
vstsFeed: 'MyFeed'
- task: VSBuild@1
inputs:
solution: '$(solution)'
msbuildArgs: '/p:OutputPath="$(Build.BinariesDirectory)\$(Build.BuildID)"'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
restoreNugetPackages: true
msbuildArchitecture: 'x64'
- task: ArchiveFiles@2
inputs:
rootFolderOrFile: '$(Build.BinariesDirectory)\$(Build.BuildId)'
includeRootFolder: false
archiveType: 'zip'
archiveFile: '$(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip'
replaceExistingArchive: true
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
我不确定问题出在配置上还是我的 NuGet 包上,我在这个问题上找不到太多信息。
【问题讨论】:
-
UDesign.csproj 是解决方案的一部分吗?
-
不,它不是它的一部分
-
解决方案的根目录中有
nuget.config吗? -
不,我正在使用工件提要,并且根据日志,它看起来可以正确找到包。
标签: c# azure nuget nuget-package-restore azure-pipelines-yaml