Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# wix light.exe找不到类型为“”的文件_C#_Wix_.net Core - Fatal编程技术网

C# wix light.exe找不到类型为“”的文件

C# wix light.exe找不到类型为“”的文件,c#,wix,.net-core,C#,Wix,.net Core,我正在尝试构建一个wix安装程序,将dotnet控制台应用程序安装为windows服务 我已将以下HeatDirectory任务添加到.wixproj文件中 <Target Name="BeforeBuild"> <Exec Command="dotnet publish ..\..\MySolution\MyProject\MyProject.csproj -c $(Configuration) -r win10-x64" /> <PropertyGroup>

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

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

<Target Name="BeforeBuild">
<Exec Command="dotnet publish ..\..\MySolution\MyProject\MyProject.csproj -c $(Configuration) -r win10-x64" />
<PropertyGroup>
  <LinkerBaseInputPaths>..\..\MySolution\MyProject\bin\$(Configuration)\netcoreapp1.1\win10-x64\publish</LinkerBaseInputPaths>
  <DefineConstants>BasePath=..\..\MySolution\MyProject\bin\$(Configuration)\netcoreapp1.1\win10-x64\publish</DefineConstants>
</PropertyGroup>
<HeatDirectory OutputFile="MyProject.wxs" DirectoryRefId="PROJECTDIR" ComponentGroupName="cmpMyProject" SuppressCom="true" Directory="..\..\MySolution\MyProject\bin\$(Configuration)\netcoreapp1.1\win10-x64\publish" SuppressFragments="true" SuppressRegistry="true" SuppressRootDirectory="true" AutoGenerateGuids="false" GenerateGuidsNow="true" ToolPath="$(WixToolPath)" PreprocessorVariable="var.BasePath" Transforms="RemovePdbs.xslt" />
  </Target>
然而,当我去构建Wix项目时,我得到了以下错误

系统找不到类型为的文件“....\MySolution\MyProject\bin\Debug\netcoreapp1.1\win10-x64\publish\Microsoft.AspNetCore.Authentication.dll”

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

有人能解释一下这个问题吗

更新

我把文件的绝对路径

C:\Source\MySolution


现在它正在愉快地建造。是否有更好的方法引用项目?如果一位同事从GIT中签出这个文件,并尝试在不同的文件结构中构建它,他们最终将不得不更改文件路径…

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


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

您的控制台应用程序在wix项目中被引用了吗?@Bryan我没有。现在添加它后,我发现我可能在目录路径中有太多../您也可以简单地使用$var.MyProjectName.TargetPath。如果您将其添加到参考资料中,这将指向您的解决方案的根源。@Bryan您可以输入您的两条评论作为此问题的实际答案,以便我可以为您提供答案积分吗?