我花了很多时间试图弄清楚为什么我的项目使用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就会消失.
我不确定是否是每个“AnyCPU”(无空格),但默认目标名称是带有空格的“Any CPU”。不过,我应该指出,这些名称是任意字符串,您可以将它们设置为您喜欢的任何名称,只要它们一致即可。
| 归档时间: |
|
| 查看次数: |
5850 次 |
| 最近记录: |