Visual studio MSBuild与Visual Studio生成-生成目标
MSBuild报告了一些奇怪的情况: D:\Test>msbuild Test.sln Microsoft(R)生成引擎版本 15.1.1012.6693版权所有(C)微软公司。版权所有 在此解决方案中一次构建一个项目。使能 并行生成,请添加“/m”开关。建造于2017年7月1日开始 下午5:33:14。节点1上的项目“D:\Test\Test.sln”(默认目标)。 D:\Test\Test.sln.metaproj:错误MSB4126:指定的解决方案无效 配置“调试| x64”无效。请指定有效的解决方案 使用配置和平台属性进行配置(例如。 MSBuild.exe Solution.sln/p:Configuration=Debug/p:Platform=“任意CPU”) 或者将这些属性留空以使用默认解决方案 配置[D:\Test\Test.sln]已完成建筑项目 “D:\Test\Test.sln”(默认目标)--失败 所以,Debug | x64无效 问题在于: D:\Test>查找“X64”Test.sln ----------TEST.SLN 这不是一个现有的目标 提到的文件(D:\Test\Test.sln.metaproj)也不存在(也检查了隐藏文件) sln文件以DEBUG | AnyCPU和RELEASE | AnyCPU为目标Visual studio MSBuild与Visual Studio生成-生成目标,visual-studio,msbuild,Visual Studio,Msbuild,MSBuild报告了一些奇怪的情况: D:\Test>msbuild Test.sln Microsoft(R)生成引擎版本 15.1.1012.6693版权所有(C)微软公司。版权所有 在此解决方案中一次构建一个项目。使能 并行生成,请添加“/m”开关。建造于2017年7月1日开始 下午5:33:14。节点1上的项目“D:\Test\Test.sln”(默认目标)。 D:\Test\Test.sln.metaproj:错误MSB4126:指定的解决方案无效 配置“调试| x64”无效。请指定有
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26430.14
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test", "Test\Test.csproj", "{63FA3D37-7672-4C5F-BAE2-43CCF8ABC7E4}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{63FA3D37-7672-4C5F-BAE2-43CCF8ABC7E4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{63FA3D37-7672-4C5F-BAE2-43CCF8ABC7E4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{63FA3D37-7672-4C5F-BAE2-43CCF8ABC7E4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{63FA3D37-7672-4C5F-BAE2-43CCF8ABC7E4}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
那么为什么MSBuild会被混淆呢
作为个人注意事项,看起来自从MS加入.NET Core计划以来,整个构建系统就变得一团糟,设置断开连接等等。事实证明,这与环境变量有关(好像我们还没有足够的配置文件) 运行cmd.exe时,如果选择x86或x64,它将设置一个环境变量 还有一条不成文的规则说:
- x86是任何CPU。。或x86
- x64是x64,但不是任何CPU