通过宏/环境变量定义解决方案中的项目路径



有没有办法使用用户宏/环境变量在解决方案中定义项目文件路径?我似乎做不到。

有点像环境变量用于定义C++项目中的其他包含目录,除了我想对解决方案中项目文件的位置执行相同的操作。

我尝试在文本编辑器中编辑解决方案以更改路径以 %MyMacroName% 或 $(MyMacroName( 开头,但它们似乎都没有正确解析。打开解决方案时找不到项目文件。

在.sln文件中使用语法"%ENV_VAR%rest_of_the_path\test.csproj">

在.csproj文件中,使用语法"$(ENV_VAR(rest_of_the_path\test.dll">

这对我有用,ENV_VAR是为操作系统定义的自定义环境变量,例如ENV_VAR = "C:\MyPath\">

MSBuild 允许您使用环境变量,

http://msdn.microsoft.com/en-US/library/ms171459(v=VS.80(.aspx

这样您应该能够根据需要定义环境变量,然后修改 vCxproj 文件以使用它们。

我不确定该技巧是否适用于 sln 文件,因为 sln 文件不是 MSBuild 脚本。

来自Microsoft Docs .vcxproj 和 .props 文件结构:

建议只在 IDE 中创建和修改.vcxproj项目,并尽可能避免手动编辑。在大多数情况下,您永远不需要手动编辑项目文件。应尽可能使用 Visual Studio 属性页来修改项目设置。

如果您需要在 IDE 中无法实现的自定义,建议您添加自定义道具目标

props 文件中,使用语法<ENV_VAR>your_local_path</ENV_VAR>

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ImportGroup Label="PropertySheets" />
  <PropertyGroup Label="UserMacros">
    <ENV_VAR>your_local_path</ENV_VAR>

最新更新