问题标签 [build-events]

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 投票
1 回答
48 浏览

visual-studio - 如何在预构建事件中将现有文件添加到 Visual Studio 中的项目?

我有一个批处理文件,它创建了一个我不想通过 SVN 与所有队友共享的配置文件,因为它用于开发人员特定的设置。配置文件是从 app.config 调用的,并且是构建项目所必需的,我不希望任何人在构建解决方案或只是项目本身时遇到问题。

有没有办法可以通过预构建事件自动将我新创建的配置文件添加到项目中?

这是我在预构建事件中运行的代码:

0 投票
2 回答
1956 浏览

c# - 如何抑制 Visual Studio 2017 (C#) 中的初始构建后事件错误?

我在 Visual Studio 2017 中有一个 C# 解决方案。我还有一个名为的批处理脚本foobar.bat,其中包含以下代码:

我的目标是在我构建特定项目时只让上面的测试错误消息出现在 Visual Studio 的错误列表中,并在它出现时停止构建。所以我把[path to script]\foobar.bat项目的构建后事件命令行放入然后构建。现在我在 Visual Studio 错误列表中 收到两条错误消息:

  1. The command "[path to script]\foobar.bat" exited with code -1.
  2. This is a test error.

在这种情况下,看到仅打印出我的构建后事件内容的第一条错误消息并没有帮助。我想抑制这个初始错误,以便只有我的自定义错误消息显示在错误列表中(或者至少将其更改为更有用的内容)。

这是我尝试过的:

  • 添加2>nul到我的批处理脚本的末尾没有效果。
  • 添加1>nul到我的批处理脚本的末尾会抑制这两个错误,这不是我想要的。
  • 添加&set errorlevel=0到我的批处理脚本的末尾没有效果。
  • 将该行添加exit 0到我的批处理脚本的末尾没有任何效果。
  • 将以下内容添加到我的 .csproj 文件(根据本文)的末尾会抑制第一个错误,但会使构建不再失败:

最后一个选项几乎让我得到了我想要的。但是,尽管有错误消息,但错误列表不会弹出,构建也不会失败。似乎任何会导致初始错误消息不出现的东西也会导致构建不再失败。是这样吗?或者有什么方法可以让构建失败而不显示初始错误消息?

0 投票
1 回答
111 浏览

c# - 如何使用构建后事件在控制台应用程序中将构建版本附加到输出 exe 文件名的末尾?

我有一个简单的控制台应用程序,它具有自动增量构建版本。当我构建项目时,我想使用构建后事件将构建版本附加到输出 exe 文件名的末尾。构建版本没有宏。

0 投票
2 回答
211 浏览

visual-studio - Visual Studio 在选定的构建配置上覆盖文件

目前我的项目有一个许可证文件。没有附加到文件的扩展名。该文件本身仅包含一个密钥。

我有 3 个构建配置

目前我有 4 个许可证文件。

我尝试使用 #c 预处理器指令,但第三方 dll 要求我的许可证名称与GLicense. 我想采取的下一个方法是在构建时覆盖 GLicense 的内容。我想知道我该怎么做?

0 投票
0 回答
108 浏览

c# - 如何对构建事件进行 REST api 调用

我正在研究.net 标准库。

我有两个要求

注意:客户端项目意味着 - 使用我的库的 c# 项目。

  1. 在客户端项目的构建前或构建后事件上调用 REST api。

  2. 根据响应,我应该在客户端项目上动态创建一个枚举类。

浏览了来自 Microsoft 的构建事件文档,但找不到任何特定于在构建时调用 rest api 或动态代码创建的内容。

有人可以帮我实现这一目标。

谢谢。努鲁尔

0 投票
1 回答
100 浏览

c++ - 成功构建后的 Visual Studio 2019 C++ 运行 .exe

如何让我的 Visual Studio 2019,在我的 C++ Build 成功编译后运行自定义 exe?

我尝试插入到 PostEvent 构建中,使用以下命令:“start C:\Test.exe”,但可执行文件在编译运行时启动(编译仅在我退出 Test.exe 时完成)。

我想在编译器成功构建后直接启动程序。

提前致谢。

在此处输入图像描述

0 投票
0 回答
22 浏览

android - 在预构建事件中设置 Visual Studio 中的 BuildAction

我有机器人和iOS xamarin项目以及一个共享库。这两个应用程序都使用一组共同的图像。对于 android,这些应该存在于Assets文件夹中。我有一个预构建事件,将它们从共享项目复制到 android 项目。

这工作正常,但这似乎与手动添加文件不同。然后他们将构建操作设置为AndroidAsset.

所以我的问题是,您可以在预构建事件中为文件设置构建操作吗?如果没有,是否有另一种方法可以达到相同的结果?

0 投票
0 回答
45 浏览

c# - 如何在 Visual Studio 的构建时将文件或文本嵌入到 c# 项目 dll?

我需要在构建时将文件/文本嵌入到 c# 项目 dll 中。我尝试了以下方法:考虑我有 ac# project MyProject

  1. 我创建了一个Support.exe,它实际上创建了一个Resource.resx文件并通过更新MyProject.csproj将该文件嵌入到该文件中。我在Myproject的预构建事件中调用了这个support.exe。但它没有将文件嵌入到MyProject.dll。如果我进行重建,则会嵌入文件。
  2. 另一种方法是,我使用 Assembly Linker 将文件嵌入到 dll 中。我在MyProject的构建后事件中调用了命令al /out:MyProject.dll /embed:filename。但是程序集链接器会创建一个新的 dll,并且它不包含MyProject.cs文件。

有没有其他方法可以在构建时将文件嵌入到 c# 项目 dll 中?

提前致谢 !

0 投票
1 回答
155 浏览

visual-studio - Visual Studio 2019 Windows SDK 可执行路径宏有多个路径

我正在尝试$(WindowsSDK_ExecutablePath_x64)在我的 C++ 项目中使用后期构建事件来复制一些文件。但是,它包含两条路径而不是一条。我似乎无法找到如何使用第一条路径(不是 .Net 路径):

我想copy /Y $(WindowsSDK_ExecutablePath_x64)\bin\file.ext destination在我的后期构建活动中做一些事情。我怎样才能做到这一点?我正在使用 VS 2019 并安装了最新的 Windows SDK。

0 投票
0 回答
264 浏览

visual-studio - 在 Visual Studio/msbuild 中,一个目标框架的构建事件如何依赖于另一个?

我正在一个 .net 6 项目中构建多个目标框架:net461 和 net6.0。两个目标框架按预期在 Visual Studio 中同时构建。奇怪的是,我的 net6.0 构建后事件依赖于 net461 构建后事件。我还没有找到一种方法让一个目标框架的 msbuild 目标依赖于另一个目标框架的那些目标。所以我不能确保构建后事件以正确的顺序执行。

在查看了 msbuild 中影响构建目标顺序和依赖关系的机制后,我没有找到答案。我几乎要在我的构建中生成和等待锁定文件,但希望不需要。有任何想法吗?

为什么我的 net6.0 构建取决于我的 net461 构建:我在 .net 6 中使用 COM 向旧版 COM 客户端公开功能。这可行,但目前没有工具可以为我需要的 .net 核心生成 TLB 文件。(regasm.exe 适用于 .net 框架,但不适用于 .net 核心。)一种解决方法是在 .net 框架中构建相同的 COM 类/接口(可能是存根),然后生成 TLB 文件。这就是我所做的,然后在我的 net6.0 构建后事件中使用它。