有没有办法使用用户宏/环境变量在解决方案中定义项目文件路径?我似乎做不到。
有点像环境变量用于定义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>