如何将环境变量持久保存到 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 路径发出警告,如何解决?
如何将 Terraform 输出变量保存到 Github Action 的环境变量中