当前位置: 首页 > 知识库问答 >
问题:

如何在Azure运营模式管道中指定解决方案文件

贺宏逸
2023-03-14

我在配置Azure DevOps Dotnet核心构建过程时遇到问题。

我有一个简单的dotnet核心项目,我正试图在azuredevops环境中构建它。

该项目在我的repo中的一个子文件夹中,但是我不知道如何指定管道应该如何找到我的csproj文件。MSDN留档建议您可以指定它,但没有示例,我所有的尝试都遇到了错误。

使用标准dotnet CLI模板构建管道时,创建的YAML是:

# ASP.NET Core
# Build and test ASP.NET Core web applications targeting .NET Core.
# Add steps that run tests, create a NuGet package, deploy, and more:
# https://docs.microsoft.com/vsts/pipelines/languages/dotnet-core

pool:
  vmImage: 'Ubuntu 16.04'

variables:
  buildConfiguration: 'Release'

steps:
- script: dotnet build --configuration $(buildConfiguration)
  displayName: 'dotnet build $(buildConfiguration)'

然而,这是遇到了错误:

MSBUILD : error MSB1003: Specify a project or solution file. 
The current working directory does not contain a project or solution file.

上面链接的文档建议使用基于“任务”的语法,而不是脚本,我假设在文档中输入的顺序与下面列出的示例相同。

共有1个答案

倪德业
2023-03-14

如果使用脚本,则在构建字之后指定csproj文件:

- script: dotnet build myrepo/test/test.csproj --configuration $(buildConfiguration)

使用Azure DevOps管道的最佳方法是为构建管道使用任务,在Dotnet Core yaml构建任务中,您可以在输入部分指定文件:

- task: DotNetCoreCLI@2
  inputs:
    command: 'build' 
    projects: 'myrepo/test/test.csproj'
 类似资料:
  • 我现在有一个Azure DevOps发布管道,其中包含测试、验收和生产阶段,它们是按顺序触发的。当有新的生成可供部署时,将触发测试。 我遇到的问题是,所有阶段目前都部署了完全相同的工件。但这是错误的,因为它们部署到不同的环境,需要有自己版本的Web.config. 如何更改设置,使所有环境都能获得正确的软件包?我是否应该更改生成设置,以便为多个不同的配置生成,还是应该为每个环境分别生成?我如何选择

  • 我正在尝试在Azure DevOps(内部部署)中配置发布管道以支持git流策略。我正在努力实现的目标: promise“发布/*”触发软件的构建并发布到QA的位置 promise“主控”从步骤1获取相同的软件构建(工件),并发布到生产位置 因此,当我做一个git-flow开始发布时,软件可用于测试/质量保证,当我完成发布时,它可供用户使用。 我的构建管道工作正常,它由发布分支触发,并以发布工件任

  • 我在 Azure DevOps 存储库中有一个 ASP.NET 核心项目,使用 DevOps 生成管道可以正常生成该项目。但是,该版本的发布始终失败,并显示以下错误: 找不到具有指定模式的包。< br >检查任务中提到的包是否作为构建或前一阶段中的工件发布,并在当前作业中下载。 更多详情:

  • 我在运行Azure DevOps管道时遇到问题。 我现在正在使用SpringBootMaven项目。我希望在不生成测试(src/test)文件的情况下运行构建管道,因为项目将在生成测试文件时失败,并且可以在没有测试文件的情况下成功构建。 是否有任何设置或配置?非常感谢。 您可以查看图像以查看详细信息,谢谢。请查看日志的图像

  • 我的任务是开发现有遗留应用程序的Azure DevOps实现。应用程序有一个QA团队,该团队使用500个自动化测试用例。此测试用例是使用量角器开发的。所有测试用例都是使用JavaScript开发的。 对于现有设置,以下是所采取的步骤:a.发布管道部署ASP。NET应用程序到Azure app services b。QA人员手动登录到VM并启动量角器测试。 我们可以使用Azure devOps管道中

  • 我最近尝试将我们的UI或基于经典的发布管道转换为基于YAML的发布管道。 我们有三个环境,最初一个CD构建将很高兴地部署到我们的开发环境中。 从那时起,我们手动触发一个版本(re:promotion)进行测试,然后在某个时候,如果我们都满意的话,手动升级到生产环境。 我们知道我们不能在发布阶段之间模仿手动推广,因为它目前不受支持,但是根据我所读到的,我们应该能够通过为请求手动推广的每个环境定义安全