默认或在外部文件中指定msbuild属性

 郭雪峰Rongeqw_983 发布于 2023-02-12 15:39

好吧,所以我有几十个解决方案都使用完全相同的命令行构建.

msbuild SolutionName.sln/p:property1 = value1; property2 = value2; etc etc等.

除了物业数量增长和增长.

有没有办法指定一个外部文件,我怎么没有最终得到10行msbuild命令?(想想财产100,财产101等).

我知道.wpp.target文件.但是,不得不将它们复制到每个项目文件夹中......这是我最后的选择.

不,我没有修改任何默认的MSBuild目标/文件.

2 个回答
  • 要回答原始问题,是的,您可以在外部文件中指定属性.它们被称为MSBuild响应文件.

    msbuild somesolution.sln @PathToResponseFile.rsp
    

    在响应文件中,您可以放置​​属性,每行一个.

    /verbosity:detailed
    /target:build
    /platform:AnyCPU
    /configuration=Release
    

    一些更好理解的链接:http : //dailytechlearnings.wordpress.com/2011/08/24/msbuild-response-file/ http://msdn.microsoft.com/en-us/library/vstudio/ms404301.aspx

    但是,使用msbuild文件构建解决方案和项目是一种更好的解决方案.您可以创建完全按照自己的意愿执行的全局目标.您可以创建自己的自定义清理和构建目标,然后构建/清理您的解决方案.

    2023-02-12 15:41 回答
  • 首先 - 我建议您使用msbuild脚本来构建解决方案,而不是使用命令行直接构建sln文件.例如使用这样的东西:

    msbuild SolutionName.Build.proj
    

    在这个Solution1.Build.proj中你可以放任何简单的东西

    <Project ToolsVersion="4.0" DefaultTargets="BuildMe" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
        <Target Name="BuildMe">
            <MSBuild Projects="SolutionName.sln" Properties="property1=value1;property2=value2;"/>
        </Target>
    </Project>
    

    完成此步骤后,可以为构建过程增加灵活性,您可以开始利用MSProild任务的AdditionalProperties元数据.

    然后,您可以使用<Import构造将共享属性列表存储在单独的文件和项元数据中,以传递属性值:

    <Project ToolsVersion="4.0" DefaultTargets="BuildMe" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
        <Import Project="MySharedProperies.props" />
        <ItemGroup>
          <ProjectToBuild Include="SolutionName.sln">
            <AdditionalProperties>SomeProjectSpecificProperty</AdditionalProperties>
          </ProjectToBuild>
        </ItemGroup>
    
        <Target Name="BuildMe">
            <MSBuild Projects="@(ProjectToBuild)" Properties="@(MySharedProperies)"/>
        </Target>
    </Project>
    

    您可以查看此帖子,了解有关属性和其他属性元数据或此原始MSDN参考的更多详细信息 (滚动到"属性元数据"部分)

    如果你有任何问题,这是如何做到的基本想法 - 随意问.

    2023-02-12 15:41 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有