代码之家  ›  专栏  ›  技术社区  ›  Bob

msbuild-使用属性或项存储值之间的差异

  •  1
  • Bob  · 技术社区  · 8 年前

    在我现有的 MSBuild

        <Exec
            EchoOff="true"
            StandardOutputImportance="low"
            StandardErrorImportance="low"
            IgnoreExitCode="true"
            ConsoleToMSBuild="true" 
            Command='
                "$(CompilerExe)" ^
                    $(HWProcessor) ^
                    $(IncludeDirs) ^
                    $(CompilerOptions) ^
                    $(CompileDefines) ^
                    "$(CPPFILE)" ^
                    -MM
        '>
            <Output TaskParameter="ConsoleOutput" PropertyName="output_cppdeps"/>
            <Output TaskParameter="ExitCode" PropertyName="exitcode_cppdeps"/>
        </Exec>
    
      <ItemGroup>
        <Item_output_cppdeps Include="$(output_cppdeps)" />
      </ItemGroup>
    

    任务后 Exec output_cppdeps 转换为 Item

    你还可以在电脑上做更多的操作吗 项目 vs a Property

    1 回复  |  直到 8 年前
        1
  •  2
  •   Leo Liu    8 年前

    在回答这个问题之前,我们需要了解 Property Item .

    项目功能 : https://msdn.microsoft.com/en-us/library/ee886422.aspx

    : https://msdn.microsoft.com/en-us/library/dd633440.aspx

    因此,项和属性具有不同的功能。根据描述 Comparing Properties and Items

    我们可以转换 所有物 项目 所有物 ,在这种情况下,我们可以在 项目 VS a 所有物 或使用属性 s function on

    <ItemGroup>  
      <OutputDir Include="KeyFiles\;Certificates\" />  
    </ItemGroup>  
    <PropertyGroup>  
      <OutputDirList>@(OutputDir)</OutputDirList>  
    </PropertyGroup> 
    

    之后,我们可以使用 property 项目 .

    有关详细信息,请参阅此链接: 比较属性和项目

    与属性相比,您可以对项目执行更多操作,这不仅仅是样式

    希望这有帮助。