当前位置:  开发笔记 > 开发工具 > 正文

MSBuild任务配置属性

如何解决《MSBuild任务配置属性》经验,为你挑选了3个好方法。

我有三个Visual Studio解决方案.第一个配置为构建为Release,另外两个设置为构建为Debug.

当运行一个简单的MSBuild脚本显式声明要构建的配置(Debug)时,第一个项目仍然构建为Release.

示例脚本:


    
        
        
        
    
    

我已经尝试了以上的变体,如下所示,但我总是得到相同的结果.


    
        
            Configuration=Debug
        

        
            Configuration=Debug
        

        
            Configuration=Debug
        
    
    

我注意到有一个类似的问题,MSBuild任务 - 构建失败,因为一个解决方案是在发布而不是调试中构建的,但这是特定于TFS和Teambuild.我正在谈论纯MSBuild与从头开始创建的简单项目文件.

我该如何解决这个问题?



1> AnneTheAgile..:

关于平台任何cpu的拼写问题,事实证明存在一个问题,已经在StackOverflow和Microsoft的其他地方报道了.它一般影响MSBuild,Platform我的dotnet v3.5 MSBuild/help中省略了整个文档问题.所以也许这会帮助别人!

链接

TFS 2010中的"AnyCPU"与"任何CPU"
MSBuild解决方案和项目之间"任何CPU"的不一致平台

Closed as Won't Fix   
Type:  Bug
ID:  503935  
Opened:  10/26/2009 1:29:12 PM
Access Restriction:  Public  
0 Workaround(s)
5 User(s) can reproduce this bug  

MSBuild Platform属性具有不同的值,Any CPU具体取决于您是构建解决方案还是构建项目.
- 用于解决方案 - 使用Platform="Any CPU"- 带空间
- 用于项目 - 使用Platform="AnyCPU"- 无空间


这必须是微软团队所见过的最糟糕的决定之一.

2> crowleym..:

好的,我发现了这个问题.与MSBuild无关,而是与构建的解决方案相关.张贴以拯救别人的心痛.

无论出于何种原因,在解决方案中配置了Debug配置,如下所示:

alt text http://www.freeimagehosting.net/uploads/cad0bdf1c0.jpg

所以MSBuild只是按照它所说的去做......


图片链接已损坏,请考虑发布实际源代码.
我想这就是那些小小的蚂蚁.

3> Nathan..:

我得到了同样的错误.解决方案是明确指定目标平台:

msbuild.exe /p:Platform="Any CPU"

这只是在我升级到Windows 7后才开始发生,所以我想这与它有关.

推荐阅读
mylvfamily
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有