自定义Visual Studio 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应用程序,如果有区别的话。

解决方法

我只是在这里放置original answer from MSFT的副本:

包的输出目录在 C:\ Program Files(x86)\ Microsoft Visual Studio \ 2019 \ Enterprise \ MSBuild \ Microsoft的 Microsoft.AppxPackage.Targets 文件中定义\ VisualStudio \ v16.0 \ AppxPackage (取决于您的Visual Studio版本)。

如果要删除“ _Test”后缀,则可以修改定义输出目录的行。在我的文件中,大约在3190-3196行:

enter image description here

要修改输出的html文件,请修改“着陆”子目录- C:\ Program Files(x86)\ Microsoft Visual Studio \ 2019 \ Enterprise \ MSBuild \ Microsoft \ VisualStudio中的index.template.html文件\ v16.0 \ AppxPackage \ Landing (取决于VS版本)。

,

如果您使用 Azure Pipelines 进行部署,则可以向 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”。

.appinstaller 文件中的 Uri 属性将正确指向该文件夹。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?