>我在使用该命令时遇到问题
"$(WIX)binheat.exe" project "$(SolutionDir)My.project.csproj" -dr FOLDER -cg filesUP -pog:Content -pog:Satellites -gg -g1 -sf -srd -suid -var "var.SourceDir" -out "$(ProjectDir)FilesFragment.wxs"
输出文件忽略此参数 -var "var。源目录"并使用变量。My.project.ProjectDir
...
<Component Id="My.project.Content.Web.config" Directory="My.project.Content" Guid="10E9C2E0-2A35-4D6F-B12D-D66AE2E831D4">
<File Id="My.project.Content.Web.config" Source="$(var.My.project.ProjectDir)Web.config" />
</Component>
...
Visual Studio 2010 返回此错误:
未定义的预处理器变量 '$(var.My.project.ProjectDir)'。
C:\My.project\My.project.Installer\FilesFragment.wxs
我搜索了一下,但只找到了将热量与参数 dir 一起使用的示例。
我在文档中没有找到任何说参数 -var 不受加热项目支持的内容。
有解决办法吗?
我找到的一个解决方案是不使用以下命令:
"$(WIX)binheat.exe" project "$(SolutionDir)My.project.csproj" -dr FOLDER -cg filesUP -pog:Content -pog:Satellites -gg -g1 -sf -srd -suid -var var.SourceDir -out "$(ProjectDir)FilesFragment.wxs"
删除参数-var var.SourceDir
并将环境变量My.project.ProjectDir
设置在其位置,并删除参数-dr FOLDER
并在文件中设置一个 id My.project.Content
其位置。
这样,命令应如下所示:
"$(WIX)binheat.exe" project "$(SolutionDir)My.project.csproj" -cg filesUP -pog:Content -pog:Satellites -gg -g1 -sf -srd -suid -out "$(ProjectDir)FilesFragment.wxs"
在我的用例中,到目前为止,我对这个解决方案没有任何问题。
我正在使用此选项,我的项目中没有任何问题。也许,引号是不必要的?尝试-var var.SourceDir
而不是-var "var.SourceDir"
。
另一个猜测:你收获了一个项目(heat.exe project
)。可能是此选项忽略-var
开关,并使用与项目相关的内容覆盖它。据我所知,project
收获类型在高温下效果不佳,不建议使用......您可以尝试改为运行heat.exe dir
以查看它是否正确通过了-var
。