- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我可以编译 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/
我不知道ItemGroup是否是正确的类型。根据选择,我将得到4个不同的 bool 值,它们是对还是错。 我想用“字符串”来填充ItemGroup,具体取决于对还是错。那有可能还是我应该使用什么? 例
在 MSBuild 12.0 中,我可以将文件包含在 中吗?仅当满足条件时? 我的用例是我想创建所有 .csproj 的集合.nuspec 的文件存在同名文件(不带扩展名)。 - root_dir\
我正在尝试从另一个项目组创建一个已筛选项目组,其中已筛选项目组将仅包含第一个项目组中具有指定文件扩展名的项目。 我收到以下错误: 错误 MSB4190:在此条件“'%(Extension)'=='.s
我有以下设置(为简洁起见,删除了无趣的 XML): 我的项目.fsproj ... MyTask.props
可以在 PropertyGroup 中将属性初始化为默认值像这样: MyDefaultValue 是否可以通过 Items 实现相同的目标?: 目前我正在做:
我的问题几乎与 Create an ItemGroup of strings in MSBuild 相同然而,那里提供的解决方案似乎仍然保留了现有的分隔符。这是我尝试执行的操作的简化片段:
我有一个自定义 MSBuild 任务来缩小一些 JavaScript 文件。我创建了一个 ItemGroup 来定义哪些文件要缩小,哪些文件不应该缩小。我的 .csproj 文件中有以下内容:
这是一个 MSBuild 脚本: dest\%(FileName)%(Extension) dest\%(FileName)%(Extens
有没有办法在不诉诸目标的情况下删除 ItemGroup 的内容?我正在寻找相当于: 谢谢 最佳答案 不可以,正如文档所述,Remove 只能包含在 Target 内的 ItemGroup 中
问题:未根据排除属性中传递的值正确构建 ItemGroups 数组。 如果您运行此脚本,它会创建一些示例文件,然后尝试根据包含/排除属性创建一个名为 TheFiles 的数组,问题是当排除不是硬编码或
有没有办法获取与给定项目关联的所有元数据键? 我想做如下的事情。 给定: val1 val2 val3 val4
我有一个脚本试图从特定目录中的所有文件构建一个 ItemGroup,同时排除具有特定名称的文件(无论扩展名如何)。 要排除的文件列表最初包含文件扩展名,我正在使用社区任务的 RegexReplace
我有一个 MSBuild ItemGroup,我希望能够在“构建后事件”中回显它。 但是当我尝试这样的命令时:echo My ItemGroup: @(Foo) 我得到错误: error MSB416
问题应该是什么: 这是我的ModuleCompilation.targets的内容文件 : 消息被写入控制台但文件没有移动,怎么会? 原问题(可以忽略): 我在我
我的解决方案有多个项目(因此也有子目录),并且每个项目文件夹中有一个“bin”文件夹。 我正在尝试在包含所有这些目录的 MSBuild 脚本中创建一个 ItemGroup。 我认为这已经足够了,但它不
我目前正在使用 MSBuild,在其中一个 vcxproj 文件中,我希望不同的 ItemGroup 有不同的 ItemDefinitionGroup,但不会相互覆盖,这样每个 ItemGroup 都
观察 msbuild 脚本的以下部分: 我想把它转换成 /ruleid:-Microsoft.Design#CA1000 /ruleid:-Microsoft.Design#CA100
是否可以在声明 ItemGroup 后修改它的元数据。 例如:
我非常好奇为什么我无法根据在目标内按预期工作的元数据条件在全局范围内创建项目。例如,这按预期工作: true false
我一直在努力从头开始创建我的 msbuild *.vcxproj 文件,以便更好地了解 msbuild 的功能。在像 this 这样的例子中对于 MSDN 上的示例,为什么有一个用于 ClCompil
我是一名优秀的程序员,十分优秀!