Visual studio 2012 VS2012中的msbuild Wix工具集3.7源代码
我试图在安装了VS2012的windows 8计算机上手动构建wix toolset 3.7,但我一直遇到以下错误: 错误WIXBUILD002:错误“Microsoft Windows SDK for Windows 7和.NET Frame 4”或“Visual Studio 2012”必须是安装程序 根据wix文档 当使用命令:msbuild/p:VisualStudioVersion=“11.0”时,它应该可以工作 任何帮助都将不胜感激 编辑: 通过将WixBuild.props文件中的Visual studio 2012 VS2012中的msbuild Wix工具集3.7源代码,visual-studio-2012,msbuild,wix,wix3.7,Visual Studio 2012,Msbuild,Wix,Wix3.7,我试图在安装了VS2012的windows 8计算机上手动构建wix toolset 3.7,但我一直遇到以下错误: 错误WIXBUILD002:错误“Microsoft Windows SDK for Windows 7和.NET Frame 4”或“Visual Studio 2012”必须是安装程序 根据wix文档 当使用命令:msbuild/p:VisualStudioVersion=“11.0”时,它应该可以工作 任何帮助都将不胜感激 编辑: 通过将WixBuild.props文件中的
从8.0更改为8.0,解决了WIXBUILD002错误。但是,现在我得到大约72个错误,大部分与MSBUILD相关
当我浏览WIX构建目标时,
错误WIXBUILD002
的定义在文件\tools\WixBuild.tools.targets
中。如果属性PlatformSdkBinPath
中的文件路径不存在或属性值为空,则会发生这种情况。PlatformSdkBinPath
的值在文件\tools\WixBuild.props
中设置为$(PlatformSdkInstallPath)bin\
,PlatformSdkInstallPath
的值依次从注册表项HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Microsoft SDK\Windows\v8.0
读取。显然,在您的机器中没有这样的注册表项,而是v8.0A
问题是WIX MSBuild无法在您的计算机中找到Windows SDK。很可能它也可能是WIX源代码中的bug
因此,基本上解决方案是更改文件\tools\WixBuild.props
(PlatformSdkInstallPath
属性)和\tools\OneTimeWixBuildInitialization.proj
中的注册表项路径(仅HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Microsoft SDK\Windows\v8.0
)(NetfxSdkInstallPath
property)以v8.0A
结束,而不是当前的v8.0
,并尝试使用MSBuild
编辑:
为解决以下问题:
MSB8020:Visual Studio 2010的生成工具(平台工具集=
找不到“v100”)。若要使用v100生成工具生成,请执行以下操作:
单击项目菜单或右键单击解决方案,然后选择
“更新VC++项目…”
我想你可以参考这篇MSDN帖子的解决方案。这里的解决方案基本上是安装
注意:我觉得您的VS 2012安装有一些基本问题,或者您正在使用的VS 2012的flavor\version缺少很多东西。当我浏览WIX构建目标时,
错误WIXBUILD002
的定义在文件\tools\WixBuild.tools.targets
中。如果文件路径根据属性PlatformSdkBinPath
不存在或属性值为空。PlatformSdkBinPath
的值在文件\tools\WixBuild.props
中设置为$(PlatformSdkInstallPath)bin\
和PlatformSdkInstallPath
依次从注册表项HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v8.0
读取其值。显然,在您的计算机中没有这样的注册表项,而是v8.0A
问题是,WIX MSBuild无法在您的计算机中找到Windows SDK。很可能它也可能是WIX源代码中的错误
因此,基本上解决方案是更改文件\tools\WixBuild.props
(PlatformSdkInstallPath
属性)和\tools\OneTimeWixBuildInitialization.proj
中的注册表项路径(仅HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Microsoft SDK\Windows\v8.0
)(NetfxSdkInstallPath
property)以v8.0A
结束,而不是当前的v8.0
,并尝试使用MSBuild
编辑:
为解决以下问题:
MSB8020:Visual Studio 2010的生成工具(平台工具集=
找不到“v100”)。若要使用v100生成工具生成,请执行以下操作:
单击项目菜单或右键单击解决方案,然后选择
“更新VC++项目…”
我想你可以参考这篇MSDN帖子的解决方案。这里的解决方案基本上是安装
注意:我觉得您的VS 2012安装有一些基本问题,或者您正在使用的VS 2012的flavor\version缺少很多东西。请检查您的注册表项
HKEY\U LOCAL\u MACHINE\SOFTWARE\Microsoft\Microsoft SDK\Windows\v8.0的值,并检查此值路径是否确实存在如果是这样,我想我可以更清楚地了解这一点。谢谢你的回复。我没有HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDK\Windows\v8.0,但我有HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDK\Windows\v8.0A。在该注册表中,InstallationFolder设置为C:\Program files(x86)\Microsoft SDK\Windows\v8.0A,ProductName设置为Microsoft.Net Framework 4.5 SDK,ProductVersion设置为8.0.50727。再次感谢!顺便说一下,HKEY_LOCAL\u MACHINE\SOFTWARE\Microsoft\Microsoft SDK\Windows\v8.0A下还有3个子文件夹,分别是:WinSDK-NetFx35Tools、WinSDK-NetFx35Tools-x64和WinSDK-NetFx35Tools-x86。您能请检查注册表项的值HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Microsoft SDK\Windows\v8.0
,并检查此值路径是否与Windows SDK文件一起实际存在?如果是,我想我可以更清楚地了解这一点。感谢您的答复。我没有HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Microsoft SDK\Windows\v8.0,b但我有HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Microsoft SDK\Windows\v8.0A。在该注册表中,InstallationFolder设置为C:\Program Files(x86)\Microsoft SDK\Windows\v8.0A,ProductName设置为Microsoft.Net Framework 4.5 SDK,一个
error MSB8020: The build tools for Visual Studio 2010
(Platform Toolset = 'v100') cannot be found. To build
using the v100 build tools, either click the project
menu or right-click on the solution, and then select
"Update VC++ Projects..."