尝试使用 ProjectReference 将应用程序发布为独立的,以便在 WiX v4 项目中使用

问题描述 投票:0回答:1

我正在尝试使用 WiX v4 创建安装,它将发布另一个 C# 项目,收获其文件,然后将它们打包到安装程序中。我能够让它工作,但问题是,当我需要它是独立的时,该项目正在作为依赖于框架的方式发布。

我目前在 wixproj 文件中使用以下内容来处理此问题:

  <ItemGroup>
    <ProjectReference Include="$(SolutionDir)\App.csproj" Publish="true" />
  </ItemGroup>
  <ItemGroup>
    <HarvestDirectory Include="$(PublishFolder)">
      <ComponentGroupName>HarvestedComponents</ComponentGroupName>
      <DirectoryRefId>INSTALLFOLDER</DirectoryRefId>
      <SuppressRootDirectory>true</SuppressRootDirectory>
      <SuppressRegistry>true</SuppressRegistry>
    </HarvestDirectory>
    <BindPath Include="$(PublishFolder)" />
  </ItemGroup>

如前所述,这是可行的,但当我需要独立时,它会执行依赖于框架的发布。

我找到了 关于为 MSBuild 执行此操作的文档,但它似乎不适用于 Wix;我尝试过执行此处描述的 PropertyGroup 方法以及将 PublishSelfContained="true" 属性放到 ProjectReference 元素上,并且我也仅使用 SelfContained 尝试了这两种方法。这些似乎都对已发布的文件没有任何影响。

我似乎也无法从 Wix 找到任何有关执行此操作的文档,尽管我也找不到任何有关使用 Publish 属性的文档,并且该文档仅来自另一篇 StackOverflow 帖子,所以我不确定这是否不可能通过这种方法或者只是没有详细记录。

msbuild wix wix4
1个回答
0
投票

将独立的发布信息(您想要的 MSBuild 属性)放在 .csproj 中,而不是 . wixproj.

© www.soinside.com 2019 - 2024. All rights reserved.