可以合并新的 VisualStudio 2017 csproj 文件中的 ItemGroups 吗?
Can ItemGroups in new VisualStudio 2017 csproj files be merged?
例如,我有一个具有以下结构的 .csproj 文件:
...
<ItemGroup>
<Compile Include="...">
<Link>...</Link>
</Compile>
</ItemGroup>
<ItemGroup>
<PackageReference Include="..." Version="..." />
</ItemGroup>
... there may even be some other tags in between ItemGroups ...
<ItemGroup>
<ProjectReference Include="..." />
</ItemGroup>
<ItemGroup>
<Reference Include="...">
<HintPath>...</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<None Update="...">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
... There may be even more additional ItemGroups with other content ...
...
我可以把它们合并成一个吗,像这样?
...
<ItemGroup>
<PackageReference Include="..." Version="..." />
<ProjectReference Include="..." />
<Compile Include="...">
<Link>...</Link>
</Compile>
<Reference Include="...">
<HintPath>...</HintPath>
</Reference>
<None Update="...">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
...
我已经做到了,从我目前的观察来看似乎没有问题,但我不希望我或其他开发人员稍后 运行 进入他们,不知道他们可能是链接到此操作。
合并它们没问题,等同于MSBuild API.
但是,某些工具可能会查找仅包含特定内容的项组(例如,NuGet 想要添加到已包含包引用的项组),但这意味着在最坏的情况下,工具可能会添加其他项组。
例如,我有一个具有以下结构的 .csproj 文件:
...
<ItemGroup>
<Compile Include="...">
<Link>...</Link>
</Compile>
</ItemGroup>
<ItemGroup>
<PackageReference Include="..." Version="..." />
</ItemGroup>
... there may even be some other tags in between ItemGroups ...
<ItemGroup>
<ProjectReference Include="..." />
</ItemGroup>
<ItemGroup>
<Reference Include="...">
<HintPath>...</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<None Update="...">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
... There may be even more additional ItemGroups with other content ...
...
我可以把它们合并成一个吗,像这样?
...
<ItemGroup>
<PackageReference Include="..." Version="..." />
<ProjectReference Include="..." />
<Compile Include="...">
<Link>...</Link>
</Compile>
<Reference Include="...">
<HintPath>...</HintPath>
</Reference>
<None Update="...">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
...
我已经做到了,从我目前的观察来看似乎没有问题,但我不希望我或其他开发人员稍后 运行 进入他们,不知道他们可能是链接到此操作。
合并它们没问题,等同于MSBuild API.
但是,某些工具可能会查找仅包含特定内容的项组(例如,NuGet 想要添加到已包含包引用的项组),但这意味着在最坏的情况下,工具可能会添加其他项组。