【发布时间】:2023-01-08 10:14:20
【问题描述】:
我有两个项目:ConsoleApp1 和 Package1。两者分别是 net7.0 和 wix4 安装项目的“空”项目模板。 ConsoleApp1 被修改为具有 <TargetFrameworks>net7.0</TargetFrameworks>。从 Package1 添加项目引用并尝试通过预处理器、绑定或其他方式访问来自 ConsoleApp1 的文件是不成功的。
ConsoleApp1.csproj:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFrameworks>net7.0</TargetFrameworks>
</PropertyGroup>
</Project>
Package1.wixproj
<Project Sdk="WixToolset.Sdk/4.0.0-rc.1">
<ItemGroup>
<ProjectReference Include="..\ConsoleApp1\ConsoleApp1.csproj"/>
</ItemGroup>
</Project>
ExampleComponents.wxs
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
<Fragment>
<ComponentGroup Id="ExampleComponents" Directory="INSTALLFOLDER">
<Component>
<File Source="ExampleComponents.wxs" />
<File Source="$(var.ConsoleApp1.TargetPath)" KeyPath="yes" />
</Component>
</ComponentGroup>
</Fragment>
</Wix>
不起作用的事情:
- 在wixproj中设置
TargetFramework或TargetFrameworks - 在wixproj
ProjectReference中使用AdditionalProperties="TargetFramework=net7.0" - 在贫瘠的wix4文档页面上哀叹
如果我在控制台项目中使用 <TargetFramework> 而不是 <TargetFrameworks>,错误就会解决 - 但我需要多目标。我如何才能依赖 ProjectReference 使用 wix4 进行多目标项目?
【问题讨论】:
标签: .net-core msbuild wix wix4