使用相同的TFS构建定义构建解决方案和项目

时间:2014-06-20 21:06:26

标签: visual-studio tfs msbuild tfsbuild

我尝试使用包含解决方案文件和项目文件的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构建命令同时将不同值传递给其他命令的方法吗?

2 个答案:

答案 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保存解决方案文件。

现在,当您构建解决方案时,平台应该完全相同。