Squirrel.windows 1.7.8-1.9.0 Невозможно создать файл Setup.exe и RELEASES в -releaseDir

Я использую конвейер выпуска Azure DevOps для развертывания приложения WPF.

В CI у меня есть задача копирования файлов с целью build.artifactstagingdirectory В содержание я включаю: - src \ SolutionDirectory \ ProjectDirectory \ bin \ $ (BuildConfiguration) ** - src \ SolutionDirectory \ ProjectDirectory \ Release.nuspec - пакеты \ squirrel.windows.1.8.0 **

На компакт-диске у меня есть два скрипта PowerShell. Один для пакетной операции, а другой для освобождения

Упаковка

$exePath = "$(System.DefaultWorkingDirectory)/_ArtifactName/drop/src/SolutionDirectory/ProjectDirectory/bin/Release/Project.exe"

$version =$([System.Diagnostics.FileVersionInfo]::GetVersionInfo($exePath).FileVersion)

nuget pack .\Release.nuspec -Version $version -Properties Configuration=Release -OutputDirectory .\bin\Release\ -BasePath .\bin\Release\

Releasify

Set-Alias squirrel "$(System.DefaultWorkingDirectory)/_ArtifactName/drop/packages/squirrel.windows.1.**/tools/squirrel.exe"

$exePath = "$(System.DefaultWorkingDirectory)/_ArtifactName/drop/src/SolutionDirectory/ProjectDirectory/bin/Release/Project.exe"

$version =$([System.Diagnostics.FileVersionInfo]::GetVersionInfo($exePath).FileVersion )

squirrel --releasify "$(System.DefaultWorkingDirectory)/_ArtifactName/drop/src/SolutionDirectory/ProjectDirectory/bin/Release/Project.$version.nupkg" --no-msi --releaseDir $(DevDeployDir)

DevDeployDir - это переменная, указывающая на каталог развертывания локального сервера.

Я могу освободить только .nupkg. RELEASES и Setup.exe отсутствуют, я также попытался добавить команду Start-Sleep в конце, потому что я думал, что процесс освобождения может останавливаться слишком рано.

Это похоже на то, что задача PowerShell в Azure DevOps начинает запускать освобождение Squirrel в фоновом режиме, но поскольку squirrel является асинхронным (мне сказали об этом, и я просматривал некоторый фрагмент кода, похоже, так), он сразу же завершается, и только * * .nupkg. и ** - full.nupkg созданы. Итак, я чувствую, что он начинает преобразовывать пакет в версию с белкой, но он останавливается после выхода команды powershell.

Этого не происходит, когда я вручную освобождаю через PowerShell на диске сервера Я вижу, что файлы внутри моего рабочего каталога создаются в следующем порядке

**. nupkg ** - full.nupkg удаляет **. nupkg создает Setup, exe необязательный Setup.msi

Если кому-то понадобится дополнительная информация, я буду рад поделиться. Кто-нибудь знает, возможно ли это?

Ссылка на открытый вопрос GitHub

для меня это произошло после изменения файла проекта .rc, я добавил динамический номер сборки в версию 1.1.1.20, которая является последним номером, я изменил его на ноль, и проблема решена, я думаю, белка не поддерживает более трехзначный номер версии

Mahdi Khalili 31.08.2019 09:52

если вы прочитаете файл журнала белка, который находится внутри каталога белка SquirrelSetup.log, вы увидите, что не так с кодом, который вы выполнили

Mahdi Khalili 31.08.2019 10:00
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
2
744
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

@ Махди Халили

Да, это должна быть семантическая версия, и это не во время установки, а во время выпуска, поэтому я не думаю, что журнал squirrel здесь не будет работать.

Мы просто использовали параметры ожидания и передачи в оболочку PowerShell для процесса освобождения. Потом все заработало.

Другие вопросы по теме