Я начал экспериментировать с AppVeyor в эти выходные. После решения некоторых других проблем, я застрял на исправлении версии.

Чего я пытаюсь достичь: моя обычная основная ветка должна иметь все версии вроде 1.0. {Build}, что нормально работает. Но когда дело доходит до ветки dev, каждая сборка (или, скажем, пакет nuget) должна включать что-то вроде суффикса «-alpha».

Это мой нынешний Appveyor.xml. В настоящее время он привязан к корню моей ветки dev, в главной ветке в настоящее время нет xml, я хочу сначала исправить это.

version: 1.0.{build}
image: Visual Studio 2017
configuration: Release
platform: Any CPU
dotnet_csproj:
  patch: true
  file: '**\*.csproj'
  version: '{version}'
  package_version: '{version}'
  assembly_version: '{version}'
  file_version: '{build}'
  informational_version: '{version}'
before_build:
- cmd: dotnet restore Kinoheld.Api.Client\Kinoheld.Api.Client.sln
build:
  verbosity: minimal
after_build:
- cmd: dotnet pack Kinoheld.Api.Client\Kinoheld.Api.Client\Kinoheld.Api.Client.csproj
artifacts:
- path: '**\*.nupkg'
deploy: off

for:
-
  branches:
    only:
      - dev

  dotnet_csproj:
    patch: true
    file: '**\*.csproj'
    version: '{version}-alpha'
    package_version: '{version}-alpha'
    assembly_version: '{version}'
    file_version: '{version}'
    informational_version: '{version} (pre-release)'

Почему мои проекты не исправляются? Ну, я не знаю, действительно ли они не пропатчены, но почему конечный результат заключается в том, что мои пакеты dev-builds не имеют версий, которые я указал выше? Что-то мне не хватает? Может, в моих csproj-файлах или что-то в этом роде?

Вы можете найти мои проекты dev-ветку здесь - https://github.com/janniksam/Kinoheld/tree/dev - не стесняйтесь чтобы проверить это, если вам нужно больше информации, чем xml выше.

Обновлять:\

На случай, если вам интересно: я не установил параметр «Игнорировать appveyor.yml». И я вижу строки Patching .NET Core .csproj files в консоли.

2
Jannik 23 Сен 2018 в 13:29

1 ответ

Лучший ответ

Я наконец нашел решение. Когда дело доходит до поиска проектов, Appveyor ищет свойство <Version> внутри вашего проекта. В моем проекте не было объявлено <Version>.

6
Jannik 29 Сен 2018 в 22:28