gpt4 book ai didi

c# - 在 MsBuild 中,PropertyGroup 和 ItemGroup 有什么区别

转载 作者:可可西里 更新时间:2023-11-01 03:09:46 24 4
gpt4 key购买 nike

我可以编译 PropertyGroup 引用的 .cs 文件:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<AssemblyName>MSBuildSample</AssemblyName>
<OutputPath>Bin\</OutputPath>
<Compile>helloConfig.cs</Compile>
</PropertyGroup>

<Target Name="Build">
<MakeDir Directories="$(OutputPath)" Condition="!Exists('$(OutputPath)')" />
<Csc Sources="$(Compile)" OutputAssembly="$(OutputPath)$(AssemblyName).exe"/>
</Target>
</Project>

或者使用 ItemGroup 做同样的事情:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">    
<ItemGroup>
<Compile Include="helloConfig.cs" />
</ItemGroup>

<PropertyGroup>
<AssemblyName>MSBuildSample</AssemblyName>
<OutputPath>Bin\</OutputPath>
</PropertyGroup>

<Target Name="Build">
<MakeDir Directories="$(OutputPath)" Condition="!Exists('$(OutputPath)')" />
<Csc Sources="@(Compile)" OutputAssembly="$(OutputPath)$(AssemblyName).exe"/>
</Target>
</Project>

我知道使用 ItemGroup 应该是首选方法,但我应该在什么时候使用这些属性中的每一个?

最佳答案

将属性组视为单个变量的集合,属性只能包含一个值。

而 itemgroup 类似于一个数组或集合,可以包含零个、一个或多个值。您还可以迭代项目组,这在您要对多个项目执行相同任务时通常很有用。一个常见的例子是编译许多文件。

关于c# - 在 MsBuild 中,PropertyGroup 和 ItemGroup 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35438883/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com