TFS 2010中的"AnyCPU"与"任何CPU"

R4c*_*OOn 25 tfs tfs2010

我花了很多时间试图弄清楚为什么我的项目使用TFS2010上的默认(空白)配置构建,但是如果我将它设置为任何东西,则告诉我没有输出路径.

最后,我意识到在.csproj文件中配置是AnyCPU为TFS 编写的,建议的下拉值是Any CPU(注意空格).

我删除了TFS配置中的空间并且它工作正常.

该项目是从VS2008版本转换而来的.MS是否更改了VS2010版本的配置名称?有人能告诉我发生了什么吗?

小智 20

这似乎是VS2010中的已知错误.
有关详细信息,请参阅http://connect.microsoft.com/VisualStudio/feedback/details/503935/msbuild-inconsistent-platform-for-any-cpu-between-solution-and-project.

我发现了什么:

即使您在配置窗口中选择"任何CPU",解决方案中的所有项目文件都将平台设置为"AnyCPU".因此,如果您在VS中构建此解决方案,一切正常.当您尝试使用TFS"任何CPU"平台进行构建时,解决方案可以正常工作,但必须设置项目(在msbuild任务上)才能使用/ p:AnyCPU.


Mik*_*ill 10

(四年后..)

这个bug在Visual Studio 2012中似乎还活着并且还在踢.

今天,我一直无法部署我的服务项目的新版本,因为VS2012一直告诉我,我没有指定一个OutputPath ......但我,并且可以在我的项目的Properties窗口中看到它.

我还尝试将我的服务部署到笔记本电脑上的本地驱动器上,只是为了看看VS是否会这样做.

但不是.它不会.

哎哟

我的配置实际上被称为" 发布(PreProd) "(没有语音标记)但是当试图将此名称放入路径时,VS似乎已经开始出现口吃.

重新启动Visual Studio 2012没有任何效果,并且(在谷歌搜索解决方案之后),我检查了我的机器上没有"平台"环境变量,这可能会让编译器搞砸了.

荒谬的解决方案是在文本编辑器中打开我的解决方案文件(.sln),然后从"任何CPU"到"AnyCPU"进行搜索.

很明显,真的......!

2015年1月

只是补充一点,这个bug仍然活着并且还在踢.

最简单的修复方法实际上是重命名配置,使它们不包含空格或语音标记(即默认名称!!)

因此,通过将配置重命名Release (Prod)ReleaseProd,bug就会消失.

  • 仍然活着在Visual Studio 2013中:( (5认同)
  • 2016年7月VS2015仍然活着:D (3认同)

Jim*_*amb 4

我不确定是否是每个“AnyCPU”(无空格),但默认目标名称是带有空格的“Any CPU”。不过,我应该指出,这些名称是任意字符串,您可以将它们设置为您喜欢的任何名称,只要它们一致即可。