Создание сценариев сборки Visual Studio, развертывание Clickonce, Dotfuscator и Mage

StackOverflow https://stackoverflow.com/questions/617366

Вопрос

Процесс выпуска моего приложения для клиента описан в заголовке.

  • Строить
  • Развертывание по одному клику
  • Обфускация основного исполняемого файла с помощью Dotfuscator
  • Подписание файлов манифеста и .application с помощью mage
  • Почтовый индекс для доставки

Я хотел бы поработать над программой с открытым исходным кодом, чтобы автоматизировать это, поскольку каждый раз, когда клиенту требуется выпуск, требуется много времени.Я думаю, что просить о решении — это слишком;) так каким же был бы идеальный формат?Пакетный скрипт, приложение C#?

Кто-нибудь знает о существующем решении для этого процесса или желает сотрудничать над ним?

Это было полезно?

Решение

Я так понимаю, вы не собираетесь использовать MSBuild?

Потому что это также бесплатно входит в состав .net SDK.Ваши проекты Visual Studio уже являются файлами проектов MSBuild, поэтому вы можете использовать их и изменять для создания полной интегрированной сборки.

Чтобы создать развертывание ClickOnce, вам следует использовать следующие задачи MSBuild:

  • Создать манифест приложения
  • Создать манифест развертывания
  • Исполнительный директор
  • ЗнакФайл

Из-за некоторых проблем после них мне также нужно запустить mage, например, чтобы обновить манифест и подписать его, я использую для этого задачу Exec:

<!-- Correct the codebase property pointing to the application manifest file -->
<Exec 
  Command="&quot;$(SdkPath)bin\mage&quot; -Update &quot;$(DeploymentManifest)&quot; -AppManifest &quot;$(ApplicationManifest)&quot;" 
  WorkingDirectory="$(PublishDir)" />

<!-- Signing the Deployment manifest -->
<Exec 
  Command="&quot;$(SdkPath)bin\mage&quot; -Sign &quot;$(DeploymentManifest)&quot; -CertFile &quot;$(SolutionRoot)\$(Branch)\Source\esamba.pfx&quot; -Password esamba" 
  WorkingDirectory="$(PublishDir)" />

Я надеюсь, это поможет вам.

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top