问题标签 [itemgroup]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
msbuild - 在不使用 Exec 或 ItemGroup 的情况下复制 MSBuild 中的单个文件
有没有办法做到这一点?我只需要复制一个文件,并认为 Copy 任务的 SourceFiles 参数可能有一些语法,这意味着您不需要事先定义 ItemGroup,我宁愿坚持使用 ItemGroup 而不是使用 Exec。
visual-studio - 如何在通过拆分字符串创建的 MSBuild ItemGroup 中添加项目?
我正在解析我们从 Visual Studio 项目文件中获取的一些项目,并且需要在其中一些文件上运行命令行实用程序。我需要使用的参数基于辅助文件的集合,这些辅助文件通常存储为分号分隔的列表,存储为项目文件中的项目元数据:
我目前正在使用JSFiles
我从 构建的属性 检索这些@(Content)
,因此:
然后我使用一个次要目标,它@(JSFiles)
用作它的输入:
到目前为止,一切都很好。至此,我可以使用一个<Message />
任务来输出Split
操作的内容,这给了我我所期望的:
但是,为了正确地将这些文件传递给命令行实用程序,它们需要是完整路径,因此我需要在所有项目前面$(MoreFiles)
加上$(MSBuildProjectDirectory)
.
我尝试过使用批处理操作(使用$(MSBuildProjectDirectory)\%(MoreFilesArray.Identity)
甚至$([System.IO.Path]::Combine($(MSBuildProjectDirectory), %(MoreFilesArray.Identity))
无济于事),并且我尝试过<CreateItem>
使用该AdditionalMetadata
属性,但这对我来说似乎不太好用(尽管我不确定我是否正在使用它正确)。
我怎样才能做到这一点,以便我的构建过程的输出如下所示:
谢谢!
visual-studio-2010 - 构建时 .csproj 文件中的不需要的更改
我正在尝试在我的一个 Web 应用程序项目文件中自动检测 web.configs 作为转换预构建事件的一部分,此代码从我的项目文件上升一个文件夹级别并获取每个目录中的所有 web.configs 和子目录:
这很好用,但是每次我构建和退出 Visual Studio 时,我都会收到一个提示,询问我是否要保存对解决方案文件所做的更改。如果我选择yes,然后打开项目文件,上面的代码就变成了每个web.config的位置
这很好,但我自动检测 web.configs 预构建的全部原因是我可以随意添加和删除 web.configs,而不必硬编码它们的位置,每次我退出 VS,位置都会是硬编码在项目文件中......
有谁知道为什么每次我退出 Visual Studio 时这个 ItemGroup 都会改变?
image-processing - 将 Emgu 图像转换为数组以及从数组转换为图像
我想让你知道从字节数组中获取图像的方法:
我正在使用这段代码,但它会抛出异常,如果大小超过 100 或数组的长度,如果它小于 50,它会保存一个混乱的图像
c++ - 回显 ItemGroup 的所有元素
我有一个 MSBuild ItemGroup
,我希望能够echo
在“构建后事件”中完成它。
但是,当我尝试以下命令时:echo My ItemGroup: @(Foo)
我得到错误:
错误 MSB4164:元数据“Command”的值“echo My ItemGroup:@(Foo)”包含项目列表表达式。默认元数据值上不允许使用项目列表表达式。
ItemGroup
到目前为止,我对s还不是很好。有没有办法可以只echo
列出包含的文件列表Foo
?
c++ - 如果这些文件中的任何一个不存在,则执行目标
如果我Target
的文件都不存在,我想运行一次ItemGroup
。
我的问题是在“?”中放什么。
visual-studio-2013 - Premake:如何防止元素被添加到 VS2013 项目文件中?
我将所有源文件保存在一个单独的位置,以保持我的后备箱清洁和井井有条。我只是在我的 lua 文件中指向这个“源代码”位置,但将我的“位置”设置为一个完全独立的“构建”目录。在大多数情况下,这会产生我想要的行为类型,并且似乎是一个优雅的解决方案。除了...
当我运行 premake 生成项目文件时,它会为包含的每个(编译元素)文件创建链接元素。因此,在打开解决方案文件时会创建一个无关文件夹。该文件夹不再使用。
生成的项目文件的摘录:
在 VS2013 中打开解决方案后,会创建一个“bin”和“obj”文件夹(根据需要)。但是还创建了一个额外的“SourceCode”目录(及其子目录),但从未再次使用过。是否有一个标志我可以用来简单地告诉 premake 不要在项目文件中包含链接块?
我正在使用premake5。
这是我的目录结构的设置方式:
模板解决方案文件,“solution-Template.lua”:
模板项目文件,“project-Template.lua”:
模板配置文件,'configurations-Template.lua':
然后,我将在 \trunk\premake 的命令提示符下运行以下命令:
这会导致在我的 \trunk\builds\ 目录中创建一个文件夹,并在其中为每个项目创建一个文件夹。这正是我想要的(并保持我的行李箱井井有条)。但是,在 VS2013 中打开解决方案文件时,会自动创建我的 SourceCode 目录的文件夹以及 bin 和 obj 文件夹,但它们根本不用于任何事情。据我所知,这是因为 Link 元素被添加到项目文件中。
msbuild - 对 MSBuild ItemGroup 的内容感到困惑
我正在编写一个 MSBuild 脚本,它的工作是构建一个解决方案,然后将两个项目的构建输出复制到一个统一的目录中。很简单。
我正在使用Copy任务执行此操作。像这样:
我遇到的问题是:这两个ItemGroup元素包含构建脚本启动时的目录内容,而不是解决方案构建完成时的目录内容。
因此,例如,如果我在 Project1 中添加对新程序集的引用,然后运行构建,则 DeployOutput 目录不包含该新程序集,因为它在构建开始时不存在于项目输出目录中。但是如果我再次运行构建,文件就在那里并被复制。
这种行为似乎是设计使然,但我不确定如何在不生成批处理文件或类似的东西来完成复制的情况下完成我的任务。
c++ - 如何隐藏在 Qt 的一个特定循环中创建的所有项目?
我已经使用 Qt Creator 快一个月了。我希望这不是一个愚蠢的问题,因为它困扰了我很长时间。
我想实现:
- 中创建许多不同的项目(假设每秒 20 个)
QGraphicsScene
。
- 中创建许多不同的项目(假设每秒 20 个)
- 对所有这些项目使用一个类
- 标记所有这些项目,在触发信号时删除或隐藏它们。
在尝试了很多方法之后,我看到的最好的方法是使用QGraphicsItemGroup
. 我试图将它们全部分组到一个QGraphicsItemGroup
. 但是在将一个项目添加到一个组后,无论我从库中使用什么功能,该项目都不再显示在场景中。
我在使用中做错了QGraphicsItemGroup
什么吗?或者还有其他更好的方法吗?
期待任何人的帮助。非常感谢。
以下是我的代码结构:
(注:trail_item
是我创建的一个item类。由于是循环,我不知道如何更改*new_item
指针名称,所以所有item都具有相同的名称。)
msbuild - 将文件拆分为 ItemGroup 有什么意义?
C# 项目中包含的元素(以 MSBuild 格式定义),例如文件夹、要编译的文件或资源文件,可以分组到<ItemGroup>
元素中。
当我查看SharpDevelop生成的各种项目文件时,通常会创建几个项目组。出于某种原因,项目似乎或多或少地随机分类到这些组中(我认为所有文件夹都聚集在它们自己的组中,但这是我能识别的唯一模式)。我试图找出原因,或者,如果没有外部原因,我只是希望有一个(有点引用的)声明,比如“没关系,可以以任何方式将项目分类到项目组中。 "
特定分组模式对 MSBuild 有什么好处吗?