停止visual studio定义中的环境路径扩展

Stop Environment path expansion in visual studio define

本文关键字:环境 路径 扩展 visual studio 定义 停止      更新时间:2023-10-16

我正在使用自动生成visual studio项目文件的程序。在这些生成的项目中,我希望有一个#define来指定配置文件路径。这将允许我在路径必须更改时不更改代码。在这个路径中,我需要能够使用环境路径,例如

%LOCALAPPDATA%\\Company\\Config.cfg.

该环境变量必须在运行时存在。在我的预处理器列表中我有:

CONFIGURATION_PATH="%LOCALAPPDATA%\\Company\\Config.cfg".

不幸的是,使用后它变成了:

C:UsersUsernameAppDataLocal\Company\Config.cfg.

这意味着它使用扩展的路径进行编译。如果一个新用户运行程序,路径将是错误的。无论如何,我可以阻止visual studio在预处理器运行时扩展环境变量?

对于这个问题,人们还能想到其他的解决方案吗?

在文档中可以找到,在msbuild中转义特殊字符的方法是%XX,其中XX是该字符的十六进制等号。(这有时被称为"url编码")。因此,为了从字面上使用百分比字符,您必须将其编码为%25。环境变量名称%LOCALAPPDATA%变为%25LOCALAPPDATA%25