如何将环境变量持久保存到 Visual Studio 构建助手?

Posted

技术标签:

【中文标题】如何将环境变量持久保存到 Visual Studio 构建助手?【英文标题】:How can I persist an environment variable to the visual studio build helper? 【发布时间】:2009-08-06 21:23:09 【问题描述】:

我在 Visual Studio 2008 中有一个 NMake 项目,它的 Build 命令设置为执行长时间构建任务的自定义工具。

Build = "@call MyTool -config $(ConfigurationName)"

我想要一种将特殊标志(“-quickbuild”)传递给我的工具的方法,以告诉它执行整个构建的快速子集。

Build = "@call MyTool -config $(ConfigurationName) -quickbuild"

但是我希望它们之间的切换很容易,所以我实际上不想更改构建命令。

我的想法是将构建命令更改为:

Build = "@call MyTool -config $(ConfigurationName) $(ShouldQuickbuild)"

并创建一个 Visual Studio 宏,将“ShouldQuickbuild”环境变量设置为“-quickbuild”,然后在项目上调用 DTE.Solution.SolutionBuild.BuildProject(...)。问题是它没有看到“ShouldQuickbuild”环境变量。

关于如何让这个工作的任何想法。有没有更好的方法来做我想做的事?

【问题讨论】:

【参考方案1】:

使用批处理文件并检查,如果环境传递给批处理文件,那么您可以在批处理文件中获取它并调用您想要的实际工具。

批处理文件如下所示:


@echo 关闭

MyTool -config %1 %ShouldQuickbuild%


如果环境没有传递给批处理文件,您必须以某种方式在全局范围内获取信息。是否可以从 VS 宏创建文件?还是调用EXE?然后就很简单了..

【讨论】:

【参考方案2】:

尝试将变量放在 % 分隔符内,如 %ShouldQuickBuild%。

【讨论】:

似乎不起作用。查看构建日志,它直接吐出 %ShouldQuickBuild%。【参考方案3】:

您可以使用“解决方案配置”来控制它。创建两个新配置“Debug Quick”和“Release Quick”。这些将是原件的副本。然后为每个配置更改构建命令。

【讨论】:

我应该在原帖中提到这一点,但不幸的是,由于我们已经使用配置的方式,我无法再编辑或添加。

以上是关于如何将环境变量持久保存到 Visual Studio 构建助手?的主要内容,如果未能解决你的问题,请参考以下文章

将 Visual Studio 2005 sln 迁移到 2008,在 LIB 环境变量中使用 vc98 路径发出警告,如何解决?

如何持久化docker中的环境变量

如何将 Terraform 输出变量保存到 Github Action 的环境变量中

如何在flutter中将图像数据保存到sqflite数据库以进行持久化

如何直接保存到持久存储,而不将数据保存到内存中

Visual Studio 2010 - 如何使用系统环境变量?