Трубопровод Azure Devops - укажите целевую платформу с помощью DotNetCoreCLI @ 2 - PullRequest
0 голосов
/ 03 октября 2018

Можно ли указать целевую платформу для проекта ClassLibrary, используя конвейеры сборки Azure Devops и задачу DotNetCoreCLI @ 2?Или мы должны вернуться к использованию сценария и ручному вызову команды dotnet publish?

Фрагмент из моего конвейера YAML

variables:
  buildConfiguration: 'Debug'

steps:
- task: DotNetCoreCLI@2
  inputs:
    command: 'publish' 
    publishWebProjects: false # Required when command == Publish
    projects: 'TestProject/Test/Test.csproj'
    configuration: '$(BuildConfiguration)'

И из моего .csproj:

  <PropertyGroup>
    <TargetFrameworks>netcoreapp2.1;net45</TargetFrameworks>
  </PropertyGroup>

Я использую документацию здесь для задачи DotNetCoreCLI@2, но это не всегда здорово.

РЕДАКТИРОВАТЬ: Я должен добавить это намомент, когда сборка полностью провалилась, потому что:

The 'Publish' target is not supported without specifying a target framework. 
The current project targets multiple frameworks, please specify the framework 
for the published application. 

1 Ответ

0 голосов
/ 20 ноября 2018

Задача DotNetCoreCLI@2 может быть расширена с помощью свойства arguments, в котором можно указать структуру (а также конфигурацию сборки):

steps:
- task: DotNetCoreCLI@2
  inputs:
    command: 'publish' 
    publishWebProjects: false # Required when command == Publish
    projects: 'TestProject/Test/Test.csproj'
    arguments: '--configuration $(BuildConfiguration) --framework netcoreapp2.1'
...