1.命令行编译VS工程
- 使用devenv.com
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\devenv.com" .\build\Release\x64\xxx.sln /BUILD "Release|Win32"`
- 使用MSBuild.exe
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe" ./binding.sln /t:rebuild /p:configuration=release /p:Platform=Win32 /p:PreferredToolArchitecture=x86
2.FAQ
1.error MSB4126
error MSB4126: 指定的解决方案配置“Release|x86”无效。请使用 Configuration 和 Platform 属性指定有效的解决方案配置(例如 MSBuild.exe Solution.sln /p:Configur
ation=Debug /p:Platform="Any CPU"),或者将这些属性保留为空,以使用默认的解决方案配置。
当*.sln的Configuration中的Platform配置位Win32,而命令行指定的位x86会出现此错误。
2.指定编译工具的位数
PreferredToolArchitecture 属性确定是否在生成中使用 32 位或 64 位编译器和工具。 此属性不影响输出的平台体系结构或配置。 默认情况下,MSBuild 使用 x86 版本的编译器和工具,如果此属性未设置,或为设置为任何值以外 x64。(关于MSBuild的问题可参见曹景游博客)