TFS:Wix使用TfvcTemplate.12无法找到源文件
我需要使用TfvcTemplate.12.xaml,因为它支持生成前和生成后脚本执行,并且我需要作为预生成事件运行Powershell脚本 在TFS 2013上,使用旧的DefaultTemplate.xaml构建Wix项目效果良好。尝试使用新的默认模板TfvcTemplate.12.xaml生成csharp项目时效果良好,但Wix无法找到其文件,因为文件位于同一位置 以下是Wix代码:TFS:Wix使用TfvcTemplate.12无法找到源文件,tfs,msbuild,wix,Tfs,Msbuild,Wix,我需要使用TfvcTemplate.12.xaml,因为它支持生成前和生成后脚本执行,并且我需要作为预生成事件运行Powershell脚本 在TFS 2013上,使用旧的DefaultTemplate.xaml构建Wix项目效果良好。尝试使用新的默认模板TfvcTemplate.12.xaml生成csharp项目时效果良好,但Wix无法找到其文件,因为文件位于同一位置 以下是Wix代码: <?xml version="1.0" encoding="utf-8"?> <Wix x
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<?define SourceDir=$(var.OutDir)?>
<?warning **************** Target=$(var.TargetDir) ***********?>
<?warning **************** src=$(var.SourceDir) **************?>
<Product Id="*" Language="1033" Manufacturer="Test" Name="Testing" UpgradeCode="DB7DAC5A-ED29-45E6-8029-89F6486A9ACA" Version="1.0.0.0">
<Package Compressed="yes" InstallerVersion="200" Platform="x64" />
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder" Name="ProgFiles">
<Directory Id="bin" Name="bin">
<Component Id="AddProjToSln.exe" Guid="*">
<File Id="AddProjToSln.exe" KeyPath="yes" Source="$(var.SourceDir)AddProjToSln.exe" />
</Component>
<Component Id="AddProjToSln.exe.config" Guid="*">
<File Id="AddProjToSln.exe.config" KeyPath="yes" Source="$(var.SourceDir)AddProjToSln.exe.config" />
</Component>
</Directory>
</Directory>
</Directory>
<Feature Id="ProductFeature" Level="1" Title="TestFe">
<ComponentGroupRef Id="Testing" />
</Feature>
<Media Id="1" Cabinet="product.cab" EmbedCab="yes" />
</Product>
<Fragment>
<ComponentGroup Id="Testing">
<ComponentRef Id="AddProjToSln.exe" />
<ComponentRef Id="AddProjToSln.exe.config" />
</ComponentGroup>
</Fragment>
</Wix>
(默认目标)(1)->
“D:\Builds\31\47\src\MyComp\playway\MyUser\Utilities\VisualStudio\TestInstall\test\u install.wixproj”
(默认目标)(3)->
(编译目标)->
D:\Builds\31\47\src\MyComp\playerly\MyUser\Utilities\VisualStudio\TestInstall\Product.wxs(4):
警告CNDL1096:************目标=D:\Builds\31\47\bin\
***********[D:\Builds\31\47\src\MyComp\playerd\MyUser\Utilities\VisualStudio\TestInstall\test\u install.wixproj]
D:\Builds\31\47\src\MyComp\playway\MyUser\Utilities\VisualStudio\TestInstall\Product.wxs(5):
警告CNDL1096:************src=D:\Builds\31\47\bin\
**************[D:\Builds\31\47\src\MyComp\playerd\MyUser\Utilities\VisualStudio\TestInstall\test\u install.wixproj]
"D:\Builds\31\47\src\MyComp\Playground\MyUser\Utilities\VisualStudio\AddProjToSln.sln"
2 Warning(s)
2 Error(s)
(默认目标)(1)->
“D:\Builds\31\47\src\MyComp\playway\MyUser\Utilities\VisualStudio\TestInstall\test\u install.wixproj”
(默认目标)(3)->
(链接目标)->
D:\Builds\31\47\src\MyComp\playerly\MyUser\Utilities\VisualStudio\TestInstall\Product.wxs(12):
错误LGHT0103:系统找不到该文件
'D:\Builds\31\47\bin\addprojtosn.exe'。
[D:\Builds\31\47\src\MyComp\playerd\MyUser\Utilities\VisualStudio\TestInstall\test\u install.wixproj]
D:\Builds\31\47\src\MyComp\playway\MyUser\Utilities\VisualStudio\TestInstall\Product.wxs(15):
错误LGHT0103:系统找不到该文件
'D:\Builds\31\47\bin\addprojtosn.exe.config'。
[D:\Builds\31\47\src\MyComp\playerd\MyUser\Utilities\VisualStudio\TestInstall\test\u install.wixproj]
"D:\Builds\31\47\src\MyComp\Playground\MyUser\Utilities\VisualStudio\AddProjToSln.sln"
2 Warning(s)
2 Error(s)
时间流逝00:00:01.04
我多次验证文件是否存在,并且它在命令行中使用MsBuild和Wix工具集生成时没有任何问题
我无法理解为什么使用TfvcTemplate.12.xaml时,wix无法看到其文件,而这些文件却完整地存在于那里
非常感谢您的帮助。经过一整天的努力,我终于解决了这个问题。就像挖了一座山,得到了一只老鼠:) 实际上,TfvcTemplate.12.xaml似乎正在执行启用并行处理的MsBuild(/m),而在我的VS解决方案中,Wix项目是独立添加的,即按照生成顺序,它是最后一个要生成的项目,但我从未将其他项目设置为其依赖项。所以,MSBuild发现它没有依赖项,并忽略了它的构建顺序,只是按照随机顺序或作为第一个项目来构建它。所以安装程序项目自然无法找到它的源文件,所以失败了 我通过删除MSBuild的/m:1参数并将所有其他项目声明为Wix Project:的依赖项(即在VS中,Project–>项目依赖项)来验证这种现象。这导致MsBuild在Wix项目之前构建所有其他项目,现在Wix能够正确地找到其源文件 以下是用于说明的屏幕截图:
为什么-1?这种情况怎么了??