“$(WiX)\ bin \ heat.exe”dir $(MyProject.Dir.TargetDir)-var var.MyProject.Dir.TargetDir -t“$(ProjectDir)Filter.xslt”-dr INSTALLFOLDER -cg DesktopClientOutputComponentGroup -suid -ag -scom -sreg -sfrag -srd -o“$(ProjectDir)MyProject.Dir.Output.wxs”
这里dir $(MyProject.Dir.TargetDir)无法解析。 我应该如何使用它?
答案 0 :(得分:1)
您是如何使用此命令行的?它是在MSBuild目标中吗?它是BeforeBuild目标的一部分吗?
如果您希望每次构建时都将其用于构建,则可以使用HarvestDirectory或HarvestProject。如果你在proj文件中从MSBuild运行它,则不能使用$(MyProject.Dir.TargetDir),因为这是项目的dir自动生成的映射到wxs变量的wix变量。我查看了wix目标文件,看起来它使用WixTasks.dll中的CreateProjectReferenceDefineConstants生成所有这些Reference项目变量,因此您可以查看它们是如何进行的。
我可能只是使用HarvestProject目标或使用$(ProjectDir)的相对路径或类似的东西。
您可能还希望将路径用引号括起来,以防它们中有空格。
答案 1 :(得分:0)
我的最终解决方案是定义项目属性并在命令
中使用它答案 2 :(得分:-1)
定义环境系统变量
MyProject = C:\ CODE \ TestProApp
然后命令将像
“ $(WiX)\ bin \ heat.exe”目录“ $(” $(env.MyProject)“
参考号: http://wixtoolset.org/documentation/manual/v3/votive/votive_project_references.html