4

我真的很感谢一些非常令人沮丧的问题的帮助或想法。根据我的经验,似乎任何时候我需要组织或更新我的解决方案/项目,我都会意识到程序实​​际上是多么糟糕和糟糕。我总是最终不得不去找一个黑客,或者以失败告终,因为这会迫使我在这个过程中至少从头开始一次。Visual Studio 2010 - 如何使用系统环境变量?

无论如何,我的问题是,我一直在升级项目从2005年到2008年,现在是时候到2010年了。对于我的老项目,我决定一次使用系统环境变量来设置我的输出目录。

例如:

 
My Machine: 
System->Advanced Settings->Environment Variables 3DSMAX_DEV_ROOT_32 = F:/Temp/Rampage/ 
My Project->General: 
Output Directory = $(3DSMAX_DEV_ROOT_32) 
My Project->Linker->General: 
Output File = $(OutDir)MyPlugin.dll 

这一直工作了Visual Studio 2005和2008年,我仍然在很大程度上依赖于它。但是,对于2010年来说,这是行不通的。如果我是唯一一个处理过这个问题的人,但我没有看到有人遇到过这个问题,我会感到惊讶。其他人提到了项目环境变量,但我在系统上没有看到任何东西。无论如何,如果你有任何想法如何使他们工作或知道他们为什么现在似乎完全无视它们,我很乐意听到它。更糟糕的是,我知道前面的数字通常是否定的,但我的电动车有他们,VS的电动车不允许拥有它们。我知道我可以绕过它的一种方式,但是我正在一个开发团队中,并且做出这种改变对每个人都是一个巨大的痛苦。

感谢您花时间阅读。

埃里克

+0

任何想法任何人? – Erik 2010-10-15 21:52:23

+0

我更新了我的帖子,以解决两个当前答案解决的问题。如果有人有任何想法,请让我知道。 – Erik 2010-10-15 21:55:21

回答

4

PATH是一个非常特殊的环境变量 - 你不应该使用它为指向VS输出一个临时目录。

注意,默认情况下,VS不使用下面的环境变量从系统ENV,而不是与它自己的覆盖他们:

  • PATH
  • INCLUDE
  • LIBPATH
  • LIB

如果你想VS使用你的系统变量对于这些,你需要启动Visual Studio与/useenv选项:

devenv /useenv 

但你还是应该使用另一个变量比PATH - 这真的很特别。 (我有点惊讶,设置System->Advanced Settings->Environment Variables Path = C:/Temp/不会导致你所有其他问题)。

+0

由于VS2010和VS2008的相同原因,我使用名为TFS的系统变量 – 2010-10-15 20:17:43

+0

等你让他们工作或者你有同样的问题?这绝对是Visual Studio 2010的一个问题。 – Erik 2010-10-15 21:50:51

0

这也发生在我身上,这发生在新安装的Visual Studio 2010或任何涉及的库之后。

当然,首先检查环境变量是否设置(并且是正确的)。当我从Visual Studio 2005转移到2010时,我也从Windows XP转移到Windows 7,然后将一些程序安装在“Program Files(x86)”文件夹中,而不是没有“(x86)”的文件夹中。记下这一点!

当你右键单击一个你知道应该驻留在环境变量设置的路径之一的包含文件并按'打开文件'时,Visual Studio 2010会给你一个包含目录的列表。环境变量不会被读取,这部分是空的,并且显示可能像'/ include'而不是'C:/ Program Files/YourProgram/include'这样简单的东西。

我的解决方案很简单,因为重启计算机后,它的工作......只是尝试看看这是否也适合你。我认为它与环境变量的激活有关,它们在重新启动时全局设置。因此,如果您更改一个,则需要重新启动才能使更改生效。

+1

我的解决方案只是创建Visual Studio EV的....重新启动通常是我对某些事情的修补,但我从来没有弄明白。 – Erik 2010-11-23 01:45:07

1

好吧,我知道这是一个迟到的答案,但我有同样的问题,并在这里结束,所以其他人可能会发现解决方案有用。

的问题是具体的变量名:3DSMAX_DEV_ROOT_32

Visual Studio 2010中不展开以数字开始的环境变量。
这不是在Visual Studio 2008中

重命名的情况下,或添加变量THREEDSMAX_DEV_ROOT_32具有相同的值,这个变量将在项目的属性中使用时,可以正确地扩大。

相关问题