MSBuild正在报道奇怪的事情:
D:\ Test> msbuild Test.sln Microsoft(R)Build Engine版本 15.1.1012.6693版权所有(C)Microsoft Corporation。保留所有权利。
一次一个地在此解决方案中构建项目。启用 并行构建,请添加" / m"开关。 Build于7/1/2017开始 下午5:33:14项目" D:\ Test \ Test.sln"在节点1上(默认目标)。 D:\ Test \ Test.sln.metaproj:错误MSB4126:指定的解决方案 配置"调试| x64"是无效的。请指定有效的解决方案 使用Configuration和Platform属性进行配置(例如 MSBuild.exe Solution.sln / p:Configuration = Debug / p:Platform ="任何CPU") 或将这些属性留空以使用默认解决方案 组态。 [D:\ Test \ Test.sln]完成建筑项目 " d:\测试\ Test.sln" (默认目标) - 失败。
所以,Debug | x64无效......
问题在于:
D:\ Test> find" X64" Test.sln
---------- TEST.SLN
这不是现有目标。
提到的文件( D:\ Test \ Test.sln.metaproj )也不存在(也检查了隐藏文件)。
sln文件有DEBUG | AnyCPU和RELEASE | AnyCPU作为目标。
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计划以来,整个构建系统一直是一个非常混乱的断开设置等。
答案 0 :(得分:0)
事实证明,这与环境变量有关(好像我们没有足够的配置文件)。
运行cmd.exe时,如果选择x86或x64,则会设置环境变量。
还有一些不成文的规则说: