我从MSBuild得到了奇怪的行为。
我使用命令:
msbuild.exe / p:Configuration =“发布| Windows Mobile 5.0 Pocket PC SDK(ARMV4I)”“MySolution.sln”&&退出%% ERRORLEVEL %%
它给了我错误:
MySolution.sln:错误MSB4126:指定的解决方案配置“发布| Windows Mobile 5.0 Pocket PC SDK(ARMV4I)|混合平台”无效。请使用“配置和平台”属性指定有效的解决方案配置(例如,MSBuild.exe Solution.sln / p:Configuration = Debug / p:Platform =“Any CPU”)或将这些属性留空以使用默认解决方案配置。
我的解决方案中有Release | Windows Mobile 5.0 Pocket PC SDK(ARMV4I)的目标。我的问题是:为什么MSBuild将“| Mixed Platforms”附加到我提供的配置中?我怎样才能摆脱这种行为?
我试过了:
msbuild.exe / p:配置=发布“MySolution.sln”&&退出%% ERRORLEVEL %%
但它说:
构建解决方案配置“发布|混合平台”。
感谢您的帮助,
佛瑞德
答案 0 :(得分:1)
符号Something1|Something2
适用于Configuration|Platform
。因此,对于默认的C#项目,您将拥有可能的值,例如Debug|Any CPU
或Release|Any CPU
。从您的片段看起来您正在尝试指定配置和平台。如果是这样,那么你应该这样做:
msbuild.exe /p:Configuration="Release",Platform="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" MySolution.sln
在这种情况下,您需要确保MySolution.sln中的所有项目都包含Release配置和“Windows Mobile 5.0 Pocket PC SDK(ARMV4I)”。
这是你需要的吗?我不确定因为我对你的陈述感到困惑“我的解决方案中有发布目标| Windows Mobile 5.0 Pocket PC SDK(ARMV4I)”