问题标签 [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.

0 投票
2 回答
11496 浏览

c# - MS-Build BeforeBuild 未触发

我正在自定义一个.csproj项目以在主构建之前运行一些自定义任务。但是,我根本无法执行任务。

我取消了文件中的<Target Name="BeforeBuild" />元素的注释.csproj并添加了一个简单的消息任务,但是当我构建时,消息没有出现在我的输出中,所以似乎任务没有运行。所以这个片段不输出消息;

清单 1:没有消息出现

但是,如果我搞砸了某些属性,我可能会.csproj导致根本无法执行;

清单 2:MSBuild 配置错误

注意XXImportance属性。我得到的构建错误是

这表明正在解析 XML,Message已找到该类,并且正在反映该类以获取可用属性。

为什么任务不执行?

我正在使用 3.5 框架。

更新 1:根据@Martin 的建议,我尝试在控制台上运行 MSBuild,但出现此错误;

第 74 行读取;

更新 2:我在 VS2008 中编译,它使用 C#3 编译器,但我正在编译的项目是框架 2.0 项目。从命令行运行时(请参阅更新 1),构建似乎失败了,因为Microsoft.CSharp.targets文件的指定位置存在混淆。

0 投票
1 回答
2277 浏览

.net - 我想在 C# 构建期间运行脚本,但**仅在项目不是最新的情况下**

我正在尝试为.Net 中的 C# 项目设置正确的方法来进行自动版本控制。

要求是:

  1. 只有当它不是最新的时,才会构建程序集。(在 Visual Studio 中和通过 MSBuild 的正常行为)
  2. 当它被构建时,程序集将获得分配的正确版本。

我找到了一个解决方案来给我想要的版本字符串。但是,为了使程序集在构建后反映此版本,我需要在构建之前更改 assemblyInfo.cs 文件。我最终通过添加要在预构建事件上运行的脚本来启用此功能。根据 Microsoft 文档,这应该没问题:

Pre-build events do not run if the project is up to date and no build is triggered.

(参考: http: //msdn.microsoft.com/en-us/library/42x5kfw4.aspx):

这太不真实了!预构建事件脚本始终执行 - 即使项目是最新的!那是。预构建脚本会运行,即使它没有重新编译(因为它是最新的)。由于我的脚本更新了 assemblyInfo.cs 文件,因此项目不再是最新的,因此它会重新编译(由于错误/设计缺陷,我不得不添加指令以禁用缓存)。这意味着项目每次都会重新编译,这当然不是我想要的——考虑到我的解决方案中有 103 个项目......

我通过在项目文件中添加 BeforeBuild 和 BeforeCompile 目标进一步调查了这一点。猜猜看:即使项目是最新的,它们也会每次都运行。我尝试从 Visual Studio 和 MSBuild 运行构建,但结果相同。

当项目不是最新的时,是否有人对如何让脚本运行**仅*有建议?

顺便说一句:在建议之前: 我已经查看了网络上可用的大多数解决方案,包括通过 assemblyInfo.cs 中的“1.*”说明符自动递增。这不是我想要的。我的版本控制需求稍微复杂一些。

0 投票
2 回答
4120 浏览

visual-studio - 预构建事件失败

我将预构建事件设置为:

但是当我运行应用程序时,我得到以下输出:

指定目标上的文件 MyConsoleApp 确实存在并且可以从 Windows 资源管理器中正常运行。

0 投票
3 回答
2713 浏览

continuous-integration - CCNet - 预构建任务 cmd.exe?

在进行干净构建之前,我在 ccnet.config 文件中使用命令行预构建任务来删除 thw 工作目录的内容。

问题是我得到一个错误:

System.IO.IOException:无法执行文件 [C:\CruiseControl\Working\cmd.exe]。

它似乎在工作文件夹中寻找 cmd.exe。所以我尝试添加 cmd.exe 的路径,如下所示:

任何帮助都会很棒?

0 投票
1 回答
164 浏览

visual-studio-2008 - 在使用 VS Setup 部署项目进行部署时,我可以动态设置快捷方式的名称吗?

我想基于配置文件使用名称(和桌面快捷方式)发布我的应用程序。

那么我可以在使用 VS Setup 部署项目进行部署时动态设置快捷方式的名称吗?

PS。我的意思是,我们还有预构建和构建后选项。我们不是吗?

0 投票
1 回答
955 浏览

visual-studio - Visual Studio 预构建操作可根据条件跳过项目构建

在 VS 2008 解决方案中,我有几个项目。我使用 msbuild 在整个解决方案上运行构建。基于磁盘上存在文件,我想跳过其中一个项目的构建。我怎样才能做到这一点?有没有办法使用预构建操作来跳过项目构建?

0 投票
2 回答
10180 浏览

version-control - 如何在 qmake/qtcreator 中添加预构建步骤?

我希望编译后的应用程序在编译期间具有提交号、源文件校验和和其他可用的东西。

在普通的 Makefile 中,我这样做:

如何使用与 qmake 类似的东西?

0 投票
1 回答
3953 浏览

visual-studio-2010 - Visual Studio 2010 预编译或预生成操作

我正在寻找在预构建或预编译阶段(用户透明)在我的代码文件中进行一些替换的能力。我在考虑 Visual Studio 扩展,但还没有找到解决方案。需要某种方式来访问解决方案/项目中的所有文件,或者至少需要它的路径。

0 投票
6 回答
11344 浏览

visual-studio - 在 Visual Studio 2010 的预构建步骤中吞下错误

我的解决方案有一堆项目,其中一个是 Windows 服务;我有一个停止服务的预构建步骤和一个重新启动它的构建后步骤(这样,当 VS 构建/覆盖它时,Windows 服务 exe 不会被锁定)。

如果在我开始构建时服务未运行,则 net stop 命令会失败,这会阻止构建继续进行。

即使预构建步骤失败,我还能做些什么来强制构建?

0 投票
1 回答
3292 浏览

visual-studio-2010 - 如何从 Visual Studio 2010 解释预构建错误代码

我一直在使用 Visual Studio 预构建事件,但我发现错误代码毫无帮助

例如,添加这样的预构建事件:

$(ProjectPath)\DoStuff.exe

这给了我一个错误:以代码 267 退出

或者像这样添加:

$(ProjectDir)\DoStuff.exe

这给了我一个错误:以代码 9009 退出

经过一番探讨后,可能会弄清楚需要更改哪些内容才能使命令行正常工作,但是如果我可以查找错误代码并了解其含义,那可能会简单得多。

我已经用其中一些错误代码尝试了谷歌,但有些确实很难找到任何相关信息 - 例如 267 似乎相当难以捉摸。

是否有一个列表定义了所有这些错误代码?

:)