首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MSBuild任务配置属性

MSBuild任务配置属性
EN

Stack Overflow用户
提问于 2009-04-06 12:18:07
回答 4查看 39.5K关注 0票数 19

我有三个Visual解决方案。第一个被配置为构建为发行版,另外两个被设置为Debug。

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

示例脚本:

代码语言:javascript
复制
<Target Name="Build">
    <ItemGroup>
        <ProjectToBuild Include="$(SolutionsPath)\Solution1.sln"/>
        <ProjectToBuild Include="$(SolutionsPath)\Core\Solution2.sln"/>
        <ProjectToBuild Include="$(SolutionsPath)\UI\Solution3.sln"/>
    </ItemGroup>
    <MSBuild Projects="@(ProjectToBuild)"
             Targets="Rebuild"
             Properties="Configuration=Debug;Platform=Any CPU"/>
</Target>

我已经尝试了上述的变化,如以下,但我总是以相同的结果结束。

代码语言:javascript
复制
<Target Name="Build">
    <ItemGroup>
        <ProjectToBuild Include="$(SolutionsPath)\Solution1.sln">
            <Properties>Configuration=Debug</Properties>
        </ProjectToBuild>

        <ProjectToBuild Include="$(SolutionsPath)\Core\Solution2.sln">
            <Properties>Configuration=Debug</Properties>
        </ProjectToBuild>

        <ProjectToBuild Include="$(SolutionsPath)\UI\Solution3.sln">
            <Properties>Configuration=Debug</Properties>
        </ProjectToBuild>
    </ItemGroup>
    <MSBuild Projects="@(ProjectToBuild)"
             Targets="Rebuild"
             Properties="Platform=Any CPU"/>
</Target>

我注意到,有一个类似的问题,https://stackoverflow.com/questions/474403,但这是特定于TFS和团队建设。我说的是纯MSBuild,它有一个从零开始创建的简单项目文件。

我怎样才能解决这个问题?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-04-08 11:21:05

好的,我发现了这个问题。与MSBuild无关,而是正在构建的解决方案。为了拯救别人的心痛而发帖。

无论出于什么原因,调试配置都是在解决方案中配置的,如下所示:

alt文本http://www.freeimagehosting.net/uploads/cad0bdf1c0.jpg

所以MSBuild也只是照他们说的做.

票数 8
EN

Stack Overflow用户

发布于 2012-01-03 22:10:28

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

链接

2010年TFS中的"AnyCPU“与”任意CPU“

解决方案和项目之间“任意CPU”的MSBuild不一致平台

代码语言:javascript
复制
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" -
票数 27
EN

Stack Overflow用户

发布于 2010-07-09 02:53:44

我也犯了同样的错误。解决方案是显式地指定目标平台,包括:

代码语言:javascript
复制
msbuild.exe /p:Platform="Any CPU"

这是在我升级到windows 7之后才开始发生的,所以我想这与此有关。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/721173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档