Wix 灯.exe找不到文件类型



我正在尝试构建一个 wix 安装程序,它将 dotnet 控制台应用程序安装为 Windows 服务。

我已将以下 HeatDirectory 任务添加到 .wixproj 文件中

<Target Name="BeforeBuild">
<Exec Command="dotnet publish ....MySolutionMyProjectMyProject.csproj -c $(Configuration) -r win10-x64" />
<PropertyGroup>
<LinkerBaseInputPaths>....MySolutionMyProjectbin$(Configuration)netcoreapp1.1win10-x64publish</LinkerBaseInputPaths>
<DefineConstants>BasePath=....MySolutionMyProjectbin$(Configuration)netcoreapp1.1win10-x64publish</DefineConstants>
</PropertyGroup>
<HeatDirectory OutputFile="MyProject.wxs" DirectoryRefId="PROJECTDIR" ComponentGroupName="cmpMyProject" SuppressCom="true" Directory="....MySolutionMyProjectbin$(Configuration)netcoreapp1.1win10-x64publish" SuppressFragments="true" SuppressRegistry="true" SuppressRootDirectory="true" AutoGenerateGuids="false" GenerateGuidsNow="true" ToolPath="$(WixToolPath)" PreprocessorVariable="var.BasePath" Transforms="RemovePdbs.xslt" />
</Target>

但是,当我去构建Wix项目时,我收到以下错误

系统找不到类型为"的文件"....\MySolution\MyProject\bin\Debugetcoreapp1.1\win10-x64\publish\Microsoft.AspNetCore.Authentication.dll"。

我看了一下我的 MyProject.wxs,加热命令没有生成拼写错误,并且有几个.dll以相同的方式引用,所以我不明白为什么它在中途突然成为一个问题正在发生的事情。

谁能就这个问题有所了解?

更新

我把绝对文件路径

C:\Source\MySolution...

它现在正在愉快地建设。有没有更好的方法来引用项目?如果同事从 GIT 中签出它并尝试在不同的文件结构中构建它,他们最终将不得不更改文件路径......

@Craig, 您是否在 wix 项目中引用了控制台应用程序?看起来你没有。

我问你的原因是,如果你将你的项目添加到你的安装项目引用中,你也可以简单地使用 $(var。MyProjectName.TargetPath(。 这将指向解决方案的根目录(如果已将其添加到引用中(。

最新更新