【问题标题】:Windows 7 64-bit programfiles environment variableWindows 7 64 位程序文件环境变量
【发布时间】:2011-05-22 11:39:38
【问题描述】:

有谁知道当使用“ProgramFiles”变量时,Windows 7 是否会以某种方式推迟到“ProgramFiles(X86)”环境变量?

我们有这样一种情况,开发人员正在使用 Visual Studio,而 proj 文件使用“$(ProgramFiles)”引用程序集。这台机器是 64 位的,“ProgramFiles”变量指向“C:\Program Files”,但是程序集位于“C:\Program Files (X86)”中,但项目仍在构建。如果使用文字“C:\Program Files”路径,则不会生成。编译器说它找不到程序集

【问题讨论】:

标签: visual-studio-2010 windows-7 environment-variables


【解决方案1】:

是的,对于 32 位程序,Windows 会自动将文件夹和文件访问权限映射到 c:\program filesc:\program files (x86)。 Visual Studio 和 MSBuild 都是 32 位程序。 c:\windows\system32 vs c:\windows\syswow64 也是如此。

【讨论】:

  • 谢谢。我就是这么想的。
  • 我不认为这是真的,除了使用环境变量 %ProgramFiles% ,它会根据进程的位数自动提供正确的路径。 OP 的情况起作用的原因是因为 VS 是 32 位的,$(ProgramFiles) 指的是环境变量 %ProgramFiles% ,对于 64 位操作系统上的 32 位进程,它将是 C:\Program Files (x86)。如果我在C:\Program Files\Acme\foo64.exe 中从 32 位进程启动 64 位 exe,操作系统只需将我的路径切换到 C:\Program Files (x86)\Acme\foo64.exe
猜你喜欢
  • 1970-01-01
  • 2012-03-21
  • 2023-03-29
  • 1970-01-01
  • 2016-09-30
  • 2013-10-26
  • 1970-01-01
  • 1970-01-01
  • 2012-03-09
相关资源
最近更新 更多