首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将PropertyGroup/ItemGroup中可变数量的项传递给msbuild脚本

要将PropertyGroup/ItemGroup中可变数量的项传递给msbuild脚本,您可以使用以下方法:

  1. 使用PropertyGroup定义变量:

在msbuild脚本中,使用PropertyGroup定义变量,例如:

代码语言:<PropertyGroup>
复制
  <MyVariable>Value</MyVariable>
</PropertyGroup>
  1. 使用ItemGroup定义项:

在msbuild脚本中,使用ItemGroup定义项,例如:

代码语言:txt
复制
<ItemGroup>
  <MyItems Include="Item1" />
  <MyItems Include="Item2" />
  <MyItems Include="Item3" />
</ItemGroup>
  1. 使用%()表示法传递变量和项:

在msbuild脚本中,使用%()表示法传递变量和项,例如:

代码语言:<Target Name="MyTarget">
复制
 <Message Text="MyVariable: $(MyVariable)" />
 <Message Text="MyItems: @(MyItems)" />
</Target>
  1. 使用PropertyFunctions传递变量:

在msbuild脚本中,使用PropertyFunctions传递变量,例如:

代码语言:<PropertyGroup>
复制
  <MyVariable>Value</MyVariable>
</PropertyGroup><Target Name="MyTarget">
 <PropertyGroup>
    <MyNewVariable>$([System.String]::Copy($(MyVariable)).ToUpper())</MyNewVariable>
  </PropertyGroup>
 <Message Text="MyNewVariable: $(MyNewVariable)" />
</Target>
  1. 使用ItemFunctions传递项:

在msbuild脚本中,使用ItemFunctions传递项,例如:

代码语言:txt
复制
<ItemGroup>
  <MyItems Include="Item1" />
  <MyItems Include="Item2" />
  <MyItems Include="Item3" />
</ItemGroup><Target Name="MyTarget">
  <ItemGroup>
    <MyNewItems Include="@(MyItems->'New%(Identity)')" />
  </ItemGroup>
 <Message Text="MyNewItems: @(MyNewItems)" />
</Target>

通过以上方法,您可以将PropertyGroup/ItemGroup中可变数量的项传递给msbuild脚本。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • .Net Core迁移到MSBuild平台(二)

    在上一篇文章.Net Core迁移到MSBuild的多平台编译问题中,简单的讲了下新的项目配置文件中的节点配置,这篇我将用一些例子来详细讲下从project.json迁移到msbuild过程的节点配置。做过完整迁移新项目配置文件的朋友,肯定会觉得新的项目配置文件Msbuild的配置太扯了,虽然能直接编辑项目文件,但整个配置文件中没有了像project.json中的智能提示,当你在打开文件后你就会发现以前很轻松能写出来的json配置,现在已经什么都写不出来了,而且也没有文档可以参考,一般的情况下,往往开发人员就会关掉项目文件,打开NuGet管理器来进行包引用,但是这真的够用吗?不是所有的配置都能用可视化的方法来完成。

    02

    [WPF]是时候将WPF控件库从.Net Framework升级到.NET Core 3.1

    去年中我曾考虑将我的控件库项目Kino.Toolkit.Wpf升级到.NET Core,不过很快放弃了,因为当时.NET Core是预览版,编译WPF还需要使用最新的Visual Studio 2019,这样作为一个教学项目不够友好。到了今天.NET Core 3.1都出来了,已经正式支持WPF和Winform,Visual Studio 2019也已经普及,我觉得应该是时候将我的控件库升级到.NET Core。那么现在是WPF正式迁移到.NET Core的好时机吗?我认为还不是,把一个成熟的WPF程序迁移到.NET Core风险任然较大,而且不见得有多少好处。但对各种WPF类库/控件库来说情况又不一样了,为了可以满足更多的用户,让控件库可以同时支持.NET Framework和.NET Core十分重要;而且通常类库对其它组件的依赖较少,升级的风险没那么大。所以要玩.NET Core的WPF,从类库/控件库开始是一个好的选择。

    01
    领券