Я начал экспериментировать с 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
в консоли.
1 ответ
Я наконец нашел решение. Когда дело доходит до поиска проектов, Appveyor ищет свойство <Version>
внутри вашего проекта. В моем проекте не было объявлено <Version>
.
Похожие вопросы
Новые вопросы
.net-standard
.NET Standard - это формальная спецификация API .NET, которая должна быть доступна во всех средах выполнения .NET. Мотивация .NET Standard заключается в установлении большей однородности в экосистеме .NET. Попробуйте добавить в свой вопрос более конкретную версию .NET Standard.