【问题标题】:How to add existing project using environment variable?如何使用环境变量添加现有项目?
【发布时间】:2010-03-11 04:43:54
【问题描述】:

我有一个驻留在“拇指驱动器”(又名记忆棒)上的项目。由于 Windows 能够更改拇指驱动器的驱动器号,我想使用环境变量指定子项目的位置。这允许我设置拇指驱动器盘符,具体取决于我使用的 PC;或在驱动器号更改时更改变量(例如在向 PC 添加硬盘驱动器时发生)。

这个问题有子部分:

  1. 如何告诉 Visual Studio (2008) 在使用 GUI 添加现有项目时使用环境变量

  2. 需要用环境变量(*.dcp、*.vcproj、*.sln)修改哪些文件?

  3. 是否需要删除平台特定的vcproj 文件,例如*.vcproj.host_name
    {由于我使用带有 U 盘的不同主机 PC,所以有不同的 vcproj 文件。}

我在 Vista 和 Windows XP(至少两个平台)上使用 MS Visual Studio 2008、C++。

【问题讨论】:

  • 顺便说一下,您可以使用磁盘管理器为您的特定 volume 分配一个特定的驱动器号(尝试 >= M:) -- 或将其挂载到一个目录中您的主要 NTFS 分区。
  • 只有当它是一个合适的 USB 设备并且有序列号时才有效。这与没有序列号的假货不同。
  • 分配驱动器号不是问题;它是 Windows 自动移动它们。例如,如果我的拇指驱动器是“F:”并且我添加了一个硬盘驱动器(外部或内部),我的拇指驱动器将是“G:”而不是分配给“G:”的硬盘驱动器。然后我必须重新分配所有驱动器或更改环境变量。

标签: c++ visual-studio-2008 environment-variables usb-drive


【解决方案1】:

这里最好的解决方案是为您的子项目使用相对路径。从您的解决方案文件到子项目的相对路径不会改变,因为它们都在同一个拇指驱动器上。

【讨论】:

  • 如果这是最好的解决方案,如何使用相对寻址使 GUI “添加现有项目”?另外,相对寻址的“参考点”在哪里?
【解决方案2】:

您还可以使用“subst”命令来克服漂移的驱动器名称。

例如

f(thumbdrive):\>  subst z: projectfolder

然后您可以随时访问您位于 z:\ 的文件夹,假设所有计算机都没有安装“z:”驱动器。

【讨论】:

  • 虽然我没有对此进行测试,但我知道在 Windows XP 上,添加硬盘驱动器会增加驱动器号,而无需担心网络驱动器映射。如果我在“D:”有一个网络共享并且我添加了一个硬盘驱动器,那么硬盘驱动器将变为“D:”并且我的网络共享仍然映射到“D:”。我的理解是subst 与映射网络驱动器的路线相同。
猜你喜欢
  • 2019-06-06
  • 2016-09-25
  • 2023-01-30
  • 2020-10-16
  • 2019-04-01
  • 2023-02-13
  • 2018-06-16
  • 2013-06-24
  • 2021-03-05
相关资源
最近更新 更多