问题标签 [pre-build-event]

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.

0 投票
5 回答
23534 浏览

visual-studio-2013 - Visual Studio 添加始终运行的预构建事件(C# 项目)

在我的项目中,我正在运行一个外部工具来更新一些二进制文件。这些文件作为“内容”包含在项目中。

目前,该工具设置为在 C# 项目属性中的“预构建事件”期间运行。不幸的是,这个事件只有在项目过期时才会执行,这不是我需要的。

我通过在我的项目中始终使用“重建”而不是“构建”来解决这个问题,但这既乏味又缓慢。

无论项目是否是最新的,我都需要始终执行此工具。实际上,甚至在 MSBuild 甚至在判断项目是否为最新之前,因为该工具修改了项目中包含的一些文件,从而影响了最新的检查结果。

有正确的方法吗?

0 投票
1 回答
1368 浏览

vbscript - How to run vbs file in pos-build or pre-build event in vs2005?

I have some projects inside a solution, but because the needs of x64 and win32 i have diferent releases and some diferent files for a setup project. I need to unpack a zipfile before build the setup project. I have a vbs file that woks well to unzip the file, but the point is that i dont know the code that execute a vbs file in pre-build.

0 投票
1 回答
683 浏览

xml - 我可以有一个“预构建”脚本来决定是构建还是跳过项目?

TL;博士

我是否可以有一个 Visual Studio 预构建事件来跳过项目的构建而不会出现视觉错误?

细节

pre-build我有一个项目,其中包含一个自定义 XML 文件和一个在事件期间从 XML 生成资源文件的 Powershell 脚本。

我的目标是仅在 XML 文件发生更改时才构建项目。我已经可以确定文件是否已更改,但我无法通知 Visual Studio 跳过构建。0要么我用退出代码(让构建继续)或任何其他数字(在错误列表中显示一个丑陋的错误)停止脚本。

我可以有一个pre-build脚本来决定是构建还是跳过项目?

例子

0 投票
0 回答
1086 浏览

openshift - 如何在 Red Hat OpenShift 上运行动作挂钩?

我阅读了有关OpenShift 的动作挂钩脚本pre_build的文档,并在我的 OpenShift 设备上使用以下命令创建了一个动作挂钩:

之后,我在pre_build我的 OpenShift 应用程序的 Git 存储库中创建了该文件并将其推送到存储库。我对 OpenShift 的部署是由 Travis CI 执行的,我得到了以下响应:

所以我执行git update-index --chmod=+x .openshift/action_hooks/pre_build(因为我在 Windows 上运行)并将该pre_build文件再次推送到我的远程 Git 存储库。

现在我收到以下消息:

为什么它现在告诉我找不到pre_build文件?如果我(通过 SSH)登录到我的 OpenShift 设备,那么它就在那里:

在此处输入图像描述

这是我的pre_build文件:

0 投票
0 回答
494 浏览

delphi - 如何在预构建事件更改后自动刷新打开的文件

在 Delphi XE3 中,我有一个生成 .pas 文件的预构建事件。生成的文件位于项目的搜索路径中,并且工作正常。

当前在 Delphi 编辑器中打开这些文件之一时,预构建事件仍将正常运行并更新 .pas 文件。问题只是,Delphi-IDE 没有注意到该文件已更改。即,当我只是切换到另一个程序然后回到 Delphi-IDE 时,将识别更改 - 并且会询问我是否要在编辑器中更新文件。

有没有办法在我的预构建事件命令中强制执行此行为?

0 投票
1 回答
1282 浏览

c# - 每个构建的唯一程序集名称

我正在尝试在构建期间更改我的 dll 的程序集名称。我创建了另一个 exe,它更改了我在预构建期间执行的 csproj 文件中的程序集名称。但似乎我对 csproj 文件的更改只有在构建完成后才会生效,这当然不是我想要的。

程序集名称在每次构建时都必须是唯一的,因此我通过附加 GUID 来创建它。

我想知道是否有一种方法可以在预构建期间“强制”重新加载 csproj,或者是否有另一种方法可以在每次构建解决方案时获得唯一的程序集名称。

0 投票
3 回答
6834 浏览

java - Android Studio Gradle 预构建步骤

我只想在 Gradle 开始构建进度之前运行一个单独的应用程序 (exe)。我的目标是让我的 exe(已经写好的)自动生成一个包含内部版本号的依赖文件,我会在 UI 中显示该文件。以上这些都很简单,但我对 Gradle 几乎一无所知。

有人问过这个问题,但答案是 Gradle 的简洁片段,使用 Gradle 任务,并没有过多解释。

我想在不同的项目中使用相同的exe,所以它需要一个命令参数来指定自动生成文件的位置;

“buildnum.exe /someworkspace/someproject/somefolder/version.java”

我如何让它运行?我正在使用典型的 build.gradle 脚本;

0 投票
2 回答
259 浏览

visual-studio - Visual Studio Online Pre-Build 步骤失败

我正在使用 Visual Studio Online 进行 CI。我有一个发布版本设置。我的一个项目有一个预构建步骤,该步骤仅应为调试构建执行。

但是,VSO 使构建失败,并显示命令以状态 1 退出的错误。

在开发人员机器上使用 Visual Studio 执行相同的构建时运行良好。

0 投票
0 回答
276 浏览

c++ - 为什么预构建事件会在 TeamCity 构建中失败并出现错误代码 3?

我正在使用 TeamCity 进行持续集成。我在解决方案中的一个项目是进行预构建活动。当我在本地构建项目时它工作正常。但是在 TeamCity 中,构建失败并出现错误代码 3。预构建事件用于构建 Google 协议缓冲区的 proto 文件并创建 C++ 头文件和 C++ 源文件。

以下是预构建事件:

为什么我在 TeamCity 而不是本地收到此错误?有关如何解决此错误的任何想法?

0 投票
1 回答
396 浏览

entity-framework - Visual Studios 中用于更改实体框架数据库架构的预构建脚本不起作用

我的目标是使用预构建脚本根据编译器配置(调试/发布/其他..)更改架构。

我看到有许多解决方案可以使用代码在运行时更改架构,我采用了另一种方法,使用预构建脚本来更改 edmx 文件。这不起作用,我想知道为什么这不起作用(我并不是在寻找更好/不同的方法。)

我的方法是这样的:在预构建事件中,我添加了一个脚本来更改 edmx 文件,将字符串 Schema="dbo" 更改为 Schema="dbo2"。

在构建后事件中,我添加了一个脚本来返回文件(Schema="dbo2" 到 Schema="dbo")。

我还设置了一个条件来处理编译器配置:

if $(ConfigurationName) == Release

所以它看起来像这样:

预建:if $(ConfigurationName) == Release setdbo2.bat

后期构建:if $(ConfigurationName) == Release setdbo.bat

我还尝试将 edmx 文件的内容转储到 bat 文件中。我确信预构建脚本正在正确更改 edmx 文件的架构,并且后期构建正在正确更改它。我遇到的错误是当我构建架构更改时没有反映在生成的程序集中(它的行为就像没有预构建脚本一样)。我知道预构建脚本正在运行,这可以从构建的输出中看出:

在剪辑之前,如果我将 edmx 文件转储到输出屏幕,我会看到 edmx 文件确实以我预期的方式进行了更改。但是,程序集中包含的 myProjectDMO.ssdl 文件仍然包含 edmx 在脚本运行之前所拥有的任何内容。

如果完全删除 postbuild 脚本(认为 ssdl 可能会在编译后生成/添加),则 ssdl 也不会受到影响。

所以在我看来,ssdl 文件是在运行预构建脚本之前生成的。

有谁知道是否是这种情况?如果是这样,是否有某种预构建脚本来处理这个问题?

- 更多信息 -

我发现我可以设置输出构建窗口的详细程度。从那里我能够得到这个:

edmx 文件确实在预构建事件之前得到处理。该问题似乎与文件的内存缓存无关。

现在的问题变成了是否有预构建脚本?还是我必须开始弄乱 tt 文件或其他代码生成事件?