问题标签 [prebuild]
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.
jenkins - 有没有办法为 Jenkins 管道添加预构建步骤?
目前我可以在我的 Jenkinsfile 中使用 post 指令。有没有办法触发与此类似的预构建步骤?
c# - 如何从预构建操作创建 .mdf 文件
所以在 Visual Studio 中,我在 GitHub 上有一个项目,在 app_data 目录中有一个 mdf 文件。
关于源代码控制和构建,我该如何处理这个 .mdf 文件?
错误的解决方案 1 - 签入一个空的 .mdf 文件
我可以创建一个存根 mdf 并将其签入。但我不喜欢这个解决方案。一旦我签入它,它就会显示为已更改,并且我必须在每次后续签入时排除 .mdf。更糟糕的是,如果我忘记排除它,那么我必须恢复签入。
错误的解决方案 2 - 忽略 *.mdf 文件
我可以忽略 mdf 文件。但是现在当有人检查我的解决方案并单击构建时,构建失败。手动创建 SQL 文件非常容易。但前提是你知道这是你应该做的。此外,许多潜在用户/贡献者可能会查看我的开源项目,单击构建,看到它失败,然后决定继续。
目前我正在使用错误的解决方案 1。
平庸的解决方案 1 - 复制另一个签入文件
将 mdf 文件签入到项目中的某个位置。运行复制命令。我可能不得不接受这个选项。我希望这只是一个脚本思想。
更好的解决方案 - 如果缺少预构建操作来构建 mdf 我正在努力实施这个解决方案。
在 Visual Studio 项目的预构建操作中,我有这个:
但是 Visual Studio 正在添加一个 *.mdf。如果文件丢失,应该有一个脚本可以创建存根。Visual Studio 在做什么?
因此,一个有效的答案将涉及:
- mdf 未签入
- 不是另一个签入文件的文件副本
- 如果不存在,脚本将构建 mdf
- 脚本并不过分复杂
- 适用于几乎所有其他 Windows + Visual Studio 环境
msbuild - 如何在多目标项目中只调用一次所有构建之前的脚本
我想在构建过程之前只运行一次我的 powershell 脚本。在我看来,这应该很容易完成,只需在 PreBuildEvent 之前调用脚本就可以了。好吧,它确实适用于正常项目。
但是,对于多目标项目,脚本会在每次构建之前为所有目标框架调用多次。
这是我的项目文件,我在其中针对 3 个框架:
当我构建项目时,PreBuild 目标被调用了 3 次。
到目前为止,我已经尝试过:
1) 起初,我猜测构建是按顺序进行的,所以我在目标中添加了一个条件:
,这不起作用。事实证明,多目标构建是同时进行的。有时,net40 的构建会更晚,所以我的脚本在所有构建之前都没有运行。
2)然后我尝试使用环境变量进行同步,但也没有成功。似乎构建没有共享环境变量。
3)最后,我转向其他MSBuild目标来替换PreBuildEvent,但我没有找到合适的目标。
那么如何在所有构建之前调用我的脚本,并且在多目标项目中只调用一次。请帮我。
c# - 在 Pre-build 事件中运行 .net core 2 控制台应用程序
我有一个 .net core 2 项目,我想在预构建事件中运行另一个 .net core 2 项目。
我以前的所有项目都是使用框架 4.x 开发的,它在构建生成的 .exe 文件时。这个 .net 核心没有。我怎样才能获得与以前项目中的旧代码相同的结果:
先感谢您 !
visual-studio - 如何在预构建事件中将现有文件添加到 Visual Studio 中的项目?
我有一个批处理文件,它创建了一个我不想通过 SVN 与所有队友共享的配置文件,因为它用于开发人员特定的设置。配置文件是从 app.config 调用的,并且是构建项目所必需的,我不希望任何人在构建解决方案或只是项目本身时遇到问题。
有没有办法可以通过预构建事件自动将我新创建的配置文件添加到项目中?
这是我在预构建事件中运行的代码:
android - 如何在 Android Studio 中为预构建库设置本地 cpp 源路径
我创建了一个应用程序,其中包含我们的源代码作为本机库(so-file)。我能够进入它,到目前为止,这段代码一切正常。
这个本机库链接到另一个本机库,该库是在另一台机器上预构建的,我将其复制到 jni-abi 文件夹中。我已经在与我的项目平行的不同文件夹中检查了这个 so-file 的 svn-repository,并且还需要能够对其进行调试。
当我现在休息时,我可以在调用堆栈中看到方法名称,因此我假设可以加载符号,但 Android Studio 不知道在哪里可以找到源文件。
在 Visual Studio 下,当我中断时,我可以在符号路径中指定符号,然后出现一个错误,我应该导航到相应的源文件。然后我只需要导航到该文件夹就可以了。
如何使用 Android Studio 完成此操作 - 我安装了最新版本 3.2.1。
embedded-linux - 将自定义库构建移动到类似架构的其他机器
我目前正在设置一个带有几个需要从源代码构建的库的微控制器。由于系统架构的原因,不能使用预构建的二进制文件。构建依赖项需要花费大量时间,我希望避免为将来需要设置的每个类似设备再次执行此操作。
因此,我的问题是,如何将自定义构建的二进制文件迁移到另一台类似架构的机器上?
任何将整个系统镜像到另一个驱动器的解决方案也可以。
注意:对于我当前的用例,我在插入 Jetson Nano 的 MicroSD 上运行 Ubuntu 18.04
node.js - 预构建本机插件依赖项(用于节点和电子)
我正在尝试在节点应用程序和电子应用程序中使用本机插件( Node Sentinel File Watcher -aka NSFW-)。
对(节点和电子)使用相同的本机插件不起作用,所以我必须使用电子重建(然后它将与电子一起使用)或npm rebuild
(然后它将适用于节点)重建插件,但不适用于两者同时。
我试图避免为切换而重建,我更喜欢根据平台进行动态需求(我将使用一个特定版本的电子)。
是否可以同时为两个(或更多)平台安装依赖项?
我发现了一些有趣的软件包,例如https://www.npmjs.com/package/prebuild,但看起来您需要修改本机插件(在本例中为 NSFW)。
我打算将它用作一个私有 NPM 包,该包将分发并用于 node 和一个特定版本的电子。
linux - cmake 2.8 自定义目标复制多个文件
我不得不在 Linux 环境中使用较旧的 cmake 版本 2.8.12。
作为预构建步骤,我必须将多个头文件从源目录复制到目标目录。我决定使用add_custom_target
从句。如果这本身就是个坏主意,请告诉我。例如:
列出每个头文件会很乏味。我知道如何搜索所有头文件并将它们放入列表变量中。例如。
但是,如何将该列表变量放在add_custom_target
子句中使用?
有没有办法在add_custom_target
子句中复制多个文件?
有没有更好的方法来复制多个文件作为构建我的应用程序的依赖项的预构建步骤?
受限于旧版本的 cmake 限制了我的选择。以下是我尝试过但没有成功的事情。
- 如果我有 cmake 3.5 版,那么该
copy_if_different
命令可以采用多个源路径。 - 添加
COMMAND_EXPAND_LISTS
到add_custom_target
子句没有效果。直到更新的 cmake 版本才可以使用。 - 在子句中使用
foreach
循环add_custom_target
不起作用。在我看到的其他示例中,它们总是使用foreach
循环,并且add_custom_target
在该循环内。但是,如果我这样做,那么我不知道如何将其作为构建我的应用程序的依赖项。
windows - 如何在 Visual Studio 中将资源管理器作为预构建事件重新启动
在 Visual Studio 中构建我的 DLL 时,我想重新启动资源管理器。我尝试在项目配置中添加taskkill /f /IM explorer.exe
和start explorer
作为预构建事件。然后当我构建我的项目时,Explorer 实际上会被终止,但它不会成功重新启动。任务栏将仍然丢失。只有从命令提示符启动资源管理器后才会返回。我也尝试call
在文件中执行这些命令.bat
,但我遇到了同样的问题(尽管 .bat 文件在 Visual Studio 之外单独执行时可以正常工作)。我还尝试将重新启动部分放在构建后事件中,但没有骰子。让 Explorer 在预构建事件中成功重新启动有什么技巧吗?感谢您的任何意见。