有没有一种简单的方法能够在Visual Studio中为所有用户(全局)添加路径到包含/库目录集?我想要的是安全地为所有项目(过去和未来)添加一个包含/库路径到Visual Studio。这相当于INCLUDE、LIB和LIBPATH环境变量,似乎适用于命令行构建,但由于某些原因,在通过Visual Studio构建时完全被忽略了。它必须应用于机器上的所有用户。
我不希望更改特定用户的MSBuild属性表Microsoft.Cpp.Win32.user.props,因为这只会为特定用户在特定机器上添加路径。虽然这似乎是实现“全局”设置的推荐方式,但它无法应用于我的用例:
我参与教授一门面向工程师的编程入门课程,每年大约有1000名学生。我们为他们配备了计算机实验室,以便完成每周实验测验,但是每次学生注销时,个人设置和文档都会被清空(因此我们不能依赖用户属性)。作为课程的一部分,他们需要使用自定义课程库与硬件单元进行交互(因此需要添加包含路径和库路径)。手动为每个项目添加路径超出了我们所教授的内容,并且在学期内他们将每周创建多个项目,这将变得很烦琐。
我们尝试过的方法:
有没有更好的想法?
我不希望更改特定用户的MSBuild属性表Microsoft.Cpp.Win32.user.props,因为这只会为特定用户在特定机器上添加路径。虽然这似乎是实现“全局”设置的推荐方式,但它无法应用于我的用例:
我参与教授一门面向工程师的编程入门课程,每年大约有1000名学生。我们为他们配备了计算机实验室,以便完成每周实验测验,但是每次学生注销时,个人设置和文档都会被清空(因此我们不能依赖用户属性)。作为课程的一部分,他们需要使用自定义课程库与硬件单元进行交互(因此需要添加包含路径和库路径)。手动为每个项目添加路径超出了我们所教授的内容,并且在学期内他们将每周创建多个项目,这将变得很烦琐。
我们尝试过的方法:
- 将所需的头文件/库安装到Windows SDK路径中。
这绝对不是理想的做法,每当Windows SDK更新到新版本时就会出现问题。 - 将所需的头文件/库安装到Visual Studio的
Auxiliary
路径中。
通过检查默认的VC++包含目录,似乎VS2017在搜索头文件和库时包括了路径C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\VS
。根据文档,该文件夹应该用于不真正属于编译过程的工具。这是我们目前所做的,但感觉不正确,并且文件夹位置已经在过去的Visual Studio版本中更改过,所以将来可能会更改(由于此原因,我们在过去的5年中一直使用VS2012)。我们还必须在实验室更新Visual Studio时重新安装库。
我们可以尝试的方法:
- 将路径添加到工具集默认属性表中。
在各种论坛中,建议使用用户属性表(例如here),而不是推荐使用默认属性表。这些属性表本身警告不要修改它们,因为担心每当工具集更新时它们会被重置,如果在升级VS时安装了新的工具集,我们将不得不重新修改该工具集的默认表。 - 创建一个带有所需设置的项目模板。
我们可以创建一个模板,学生应该在通过新项目向导创建他们的新项目时选择它。担心的是,如果学生使用错误的模板创建项目(这在这样规模的课程中不可避免地经常发生),并开始进行其测验任务而没有正确设置环境,则处理出现的问题将是一场噩梦,因为我们的员工数量有限。此外,模板是VS版本特定的(并放置在版本特定的文件夹中),因此每次更改Visual Studio版本时,我们都必须重新安装模板。
有没有更好的想法?
Directory.Build.props
放在C:\
根目录下?(以及所有其他驱动器,但对于学生拥有的 USB 驱动器等不起作用) - Gizmo