Настройка выходных данных проекта упаковки Visual Studio MSIX

#visual-studio #packaging #msix

#visual-studio #упаковка #msix

Вопрос:

Я использую проект упаковки Visual Studio MSIX для создания установщика в сетевом ресурсе для внутреннего приложения.

Одна из проблем заключается в том, что создается каталог с «_Test» в конце.

Почему это происходит и как мне избавиться от этого? Я просто хочу «MyApp.MSIX_0.0.1.0» или, в идеале, «MyApp.0.0.1.0».

  Directory of I:

08/14/2020  09:44 AM    <DIR>          .
08/14/2020  09:44 AM    <DIR>          ..
08/14/2020  09:44 AM            21,312 index.html
08/14/2020  09:23 AM               601 MyApp.MSIX.appinstaller
08/14/2020  09:37 AM    <DIR>          MyApp.MSIX_0.0.1.0_Test
               2 File(s)         21,913 bytes
               3 Dir(s)  62,444,621,824 bytes free
  

Я просматривал документацию, но не могу найти ничего о создаваемых ею каталогах или index.html файл, который он генерирует. Я хотел бы настроить все это, добавить примечания к выпуску и т.д.

Это приложение WPF, если это имеет какое-либо значение.

Ответ №1:

Я просто размещаю здесь копию оригинального ответа от MSFT:

Выходной каталог пакетов определен в Корпорации Майкрософт.AppxPackage.Нацеливает файл на C:Program Файлы (x86) Microsoft Visual Studio 2019Enterprise MSBuild Microsoft VisualStudio v16.0 AppxPackage (в зависимости от вашей версии Visual Studio).

Если вы хотите удалить суффикс «_Test», вы можете изменить строки, определяющие выходной каталог. В моем файле это было примерно в строках 3190-3196:

введите описание изображения здесь

Чтобы изменить выходной HTML-файл, измените index.template.html файл в подкаталоге «Landing» —C:Program Файлы (x86) Microsoft Visual Studio 2019Enterprise MSBuild Microsoft VisualStudio v16.0 AppxPackage Landing (в зависимости от версии VS).

Комментарии:

1. Это работает на компьютере разработчика. Как мне это исправить при развертывании из Azure DevOps?

2. Для сообщества Visual Studio 2022 путь C:Program FilesMicrosoft Visual Studio2022CommunityMsbuildMicrosoftVisualStudiov17.0AppxPackage

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

Ответ №2:

Если вы используете конвейеры Azure для развертывания, вы можете добавить параметры в задачу MSBuild, чтобы сделать это. Например:

Жестко заданный:

 task: MSBuild@1
    displayName: MSBuild
    inputs:
      solution: '**/*.sln'
      platform: 'x64'
      configuration: 'Release'
      msbuildArguments: '/p:OutDir=$(Build.BinariesDirectory)/    
/p:AppxPackageTestDir="$(Build.BinariesDirectory)/MyApp.Installer/AppPackages/MyApp_1.0.0/"'
  

или использование переменных конвейера:

 msbuildArguments: 
 /p:OutDir=$(Build.BinariesDirectory)/
/p:AppxPackageTestDir="$(Build.BinariesDirectory)/MyApp.Installer/AppPackages/$(packageName)_$(newVersion)/"
  

Это дает папку с именем «MyApp_1.0.0»
вместо сбивающего с толку «MyApp_1.0.0_Test».

И свойство Uri внутри файла .appinstaller будет корректно указывать на эту папку.

Ответ №3:

Для 2022 Professional файл выглядит следующим образом: C:Program Файлы Microsoft Visual Studio 2022 Professional Msbuild Microsoft VisualStudio v17.0AppxPackage Microsoft.AppxPackage.Цели