我尝试使用包含解决方案文件和项目文件的TFS 2012构建定义。
构建运行时,解决方案无法构建。相反,我收到警告:
F:\ Source \ 1 \ MyCode \ src \ MySolution.sln.metaproj:指定的解决方案配置 "发行| AnyCPU"是无效的。请指定有效的解决方案 使用Configuration和Platform属性进行配置(例如 MSBuild.exe Solution.sln / p:Configuration = Debug / p:Platform ="任何CPU") 或将这些属性留空以使用默认解决方案 配置。
这是由导致Visual Studio使用"任何CPU"对于解决方案文件的平台,它使用" AnyCPU"用于项目文件。看到: http://connect.microsoft.com/VisualStudio/feedback/details/503935/msbuild-inconsistent-platform-for-any-cpu-between-solution-and-project
有没有办法配置我的构建以使这项工作尽管有问题?即,一种将特定平台值传递给特定sln构建命令同时将不同值传递给其他命令的方法吗?
答案 0 :(得分:5)
如何编辑您单独构建的.csproj
并添加Or '$(Platform)' == 'Any CPU'
到Platform
属性的默认条件来覆盖/修剪空格?
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' Or '$(Platform)' == 'Any CPU' ">AnyCPU</Platform>
答案 1 :(得分:2)
打开您的解决方案。
在构建菜单中,点击配置管理器。
从有效解决方案平台下拉列表中,选择新建。创建名为“任何CPU”的新平台和复制设置 AnyCPU配置。
点击确定
在有效解决方案平台下拉菜单中,选择修改。
选择“AnyCPU”并点击删除。
单击确定关闭所有对话框,然后按CTRL + SHIFT + S保存解决方案文件。
现在,当您构建解决方案时,平台应该完全相同。