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

RMD*_*RMD 2 msbuild tfs tfsbuild visual-studio

我正在尝试使用包含解决方案文件和项目文件的TFS 2012构建定义.

构建运行时,解决方案无法构建.相反,我得到的警告如下:

F:\ Source\1\MyCode\src\MySolution.sln.metaproj:指定的解决方案配置"Release | AnyCPU"无效.请使用"配置和平台"属性指定有效的解决方案配置(例如,MSBuild.exe Solution.sln/p:Configuration = Debug/p:Platform ="Any CPU")或将这些属性留空以使用默认解决方案配置.

这是由于一个错误导致Visual Studio使用"Any CPU"作为解决方案文件的平台,而它使用"AnyCPU"作为项目文件.请参阅:http: //connect.microsoft.com/VisualStudio/feedback/details/503935/msbuild-inconsistent-platform-for-any-cpu-between-solution-and-project

有没有办法配置我的构建,以使这项工作尽管有问题?即,一种将特定平台值传递给特定sln构建命令同时将不同值传递给其他命令的方法?

Ily*_*kov 5

如何.csproj单独编辑你的构建并添加Or '$(Platform)' == 'Any CPU'to Platform属性的默认条件来覆盖/修剪空间?

<PropertyGroup>
  <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
  <Platform Condition=" '$(Platform)' == '' Or '$(Platform)' == 'Any CPU' ">AnyCPU</Platform>
Run Code Online (Sandbox Code Playgroud)