## [错误]找不到与指定模式匹配的项目文件 [英] ##[error]Project file(s) matching the specified pattern were not found
问题描述
我在构建管道方面遇到问题.
I am having problems with a build pipeline.
代理池托管于VS2017
The agent pools is hosted VS2017
YAML是
pool:
vmImage: 'VS2017-Win2016'
variables:
buildConfiguration: 'Debug'
steps:
- task: DotNetCoreInstaller@0
displayName: 'Use .NET Core sdk 2.1.5'
inputs:
version: 2.1.403
- task: DotNetCoreCLI@2
displayName: Restore
inputs:
command: restore
projects: '**/Api*.csproj'
#Your build pipeline references an undefined variable named ‘Parameters.projects’. Create or edit the build pipeline for this YAML file, define the variable on the Variables tab. See https://go.microsoft.com/fwlink/?linkid=865972
#Your build pipeline references the ‘BuildConfiguration’ variable, which you’ve selected to be settable at queue time. Create or edit the build pipeline for this YAML file, define the variable on the Variables tab, and then select the option to make it settable at queue time. See https://go.microsoft.com/fwlink/?linkid=865971
- task: DotNetCoreCLI@2
displayName: Build
inputs:
projects: '$(Parameters.projects)'
arguments: '--configuration $(BuildConfiguration)'
#Your build pipeline references an undefined variable named ‘Parameters.projects’. Create or edit the build pipeline for this YAML file, define the variable on the Variables tab. See https://go.microsoft.com/fwlink/?linkid=865972
#Your build pipeline references the ‘BuildConfiguration’ variable, which you’ve selected to be settable at queue time. Create or edit the build pipeline for this YAML file, define the variable on the Variables tab, and then select the option to make it settable at queue time. See https://go.microsoft.com/fwlink/?linkid=865971
- task: DotNetCoreCLI@2
displayName: Publish
inputs:
command: publish
publishWebProjects: false
projects: '$(Parameters.projects)'
arguments: '--configuration $(BuildConfiguration) --output $(build.artifactstagingdirectory)'
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact'
inputs:
PathtoPublish: '$(build.artifactstagingdirectory)'
运行时,构建任务具有以下日志
When it runs, the build task has the following log
2018-10-29T18:28:43.7087338Z ##[section]Starting: Build
2018-10-29T18:28:43.7093502Z ==============================================================================
2018-10-29T18:28:43.7093580Z Task : .NET Core
2018-10-29T18:28:43.7093785Z Description : Build, test, package, or publish a dotnet application, or run a custom dotnet command. For package commands, supports NuGet.org and authenticated feeds like Package Management and MyGet.
2018-10-29T18:28:43.7093818Z Version : 2.141.0
2018-10-29T18:28:43.7093864Z Author : Microsoft Corporation
2018-10-29T18:28:43.7093895Z Help : [More Information](https://go.microsoft.com/fwlink/?linkid=832194)
2018-10-29T18:28:43.7093925Z ==============================================================================
2018-10-29T18:28:44.4833128Z [command]C:\Windows\system32\chcp.com 65001
2018-10-29T18:28:44.4926077Z Active code page: 65001
2018-10-29T18:28:45.1965225Z ##[error]Project file(s) matching the specified pattern were not found.
2018-10-29T18:28:45.2037015Z ##[section]Finishing: Build
我注意到该日志引用的是2.141.0,我正在还原最新的SDK 2.1.403,为什么会这样呢?可能是托管的VS2017代理不支持最新版本的.netcore吗?
I note that the log refers to 2.141.0 where as I am restoring the latest SDK 2.1.403 Why would that be? Could it be that the hosted VS2017 agent does not support the latest version of .netcore?
[更新]
我为Parameters.projects添加了一个变量
I added a variable for Parameters.projects
但是构建任务仍然有错误.
However the build task has an error still.
2018-10-29T21:07:38.6774331Z ##[section]Starting: Build
2018-10-29T21:07:38.6781540Z ==============================================================================
2018-10-29T21:07:38.6781632Z Task : .NET Core
2018-10-29T21:07:38.6781676Z Description : Build, test, package, or publish a dotnet application, or run a custom dotnet command. For package commands, supports NuGet.org and authenticated feeds like Package Management and MyGet.
2018-10-29T21:07:38.6781762Z Version : 2.141.0
2018-10-29T21:07:38.6781807Z Author : Microsoft Corporation
2018-10-29T21:07:38.6781853Z Help : [More Information](https://go.microsoft.com/fwlink/?linkid=832194)
2018-10-29T21:07:38.6781915Z ==============================================================================
2018-10-29T21:07:39.5030735Z [command]C:\Windows\system32\chcp.com 65001
2018-10-29T21:07:39.5157531Z Active code page: 65001
2018-10-29T21:07:39.5840366Z ##[error]Project file(s) matching the specified pattern were not found.
2018-10-29T21:07:39.5916864Z ##[section]Finishing: Build
推荐答案
您需要在构建任务中定义要构建的.csproj
个文件.
You need to define in the build task which .csproj
files you want to build.
在您的情况下,定义在变量$(Parameters.projects)
中.
In your case, the definition is in a variable $(Parameters.projects)
.
- task: DotNetCoreCLI@2
displayName: Build
inputs:
projects: '$(Parameters.projects)'
arguments: '--configuration $(BuildConfiguration)'
您可以在.csproj
中替换此变量(例如,所有子文件夹中的所有.csproj文件都为**/*.csproj):
You can replace this variable in your .csproj
(e.g. **/*.csproj for all .csproj files in all subfolders):
- task: DotNetCoreCLI@2
displayName: Build
inputs:
projects: '**/*.csproj'
arguments: '--configuration $(BuildConfiguration)'
或转到变量"标签并添加Parameters.projects
变量:
Or go to the variables tab and add the Parameters.projects
variable:
这篇关于## [错误]找不到与指定模式匹配的项目文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!