我非常感谢有关非常令人沮丧的问题的一些帮助或想法。根据我的经验,似乎每当我需要组织或更新我的解决方案/项目时,我都会意识到程序实际上是多么糟糕和糟糕。我总是最终不得不找到一个黑客或者因为失败而进行一次讨厌的审判,迫使我在这个过程中至少从头开始一次。
无论如何,我的问题是我从2005年到2008年一直在升级项目,现在是时候开始运行了。对于我的旧项目,我决定使用System Environment Variables设置为我的输出目录。
例如:
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年,它将无法运作。如果我是唯一一个处理过此问题的人,我会感到惊讶,但我还没有看到其中任何人遇到过这个问题。其他人提到了项目环境变量,但我没有看到任何系统环境变量。无论如何,如果你有任何想法如何让他们工作或知道为什么他们现在似乎完全无视他们,我很想听听它。更糟糕的是,我知道领先的数字通常是禁止的,但是我的EV有它们,VS的EV不允许有它们。我知道一种可以绕过它的方法,但是我是一群开发人员并且做出这一改变对每个人来说都是一个巨大的痛苦。
感谢您花时间阅读。
埃里克
答案 0 :(得分:4)
PATH
是一个非常特殊的环境变量 - 您不应该使用它来指向VS输出的临时目录。
请注意,默认情况下,VS 不使用系统环境中的以下环境变量,而是使用它自己覆盖它们:
PATH
INCLUDE
LIBPATH
LIB
如果您确实希望VS使用系统变量,则需要使用/useenv
选项启动Visual Studio:
devenv /useenv
但你仍然应该使用另一个变量而不是PATH
- 这真的很特别。 (设置System->Advanced Settings->Environment Variables Path = C:/Temp/
不会导致各种其他问题,我感到很惊讶。)
答案 1 :(得分:1)
好的,我知道这是一个迟到的答案,但我遇到了同样的问题并在此结束,所以其他人可能会发现解决方案很有用。
问题特定于变量名称:3DSMAX_DEV_ROOT_32
Visual Studio 2010不会扩展以数字开头的环境变量 在Visual Studio 2008中并非如此。
使用相同的值重命名或添加变量THREEDSMAX_DEV_ROOT_32,并且在项目的属性中使用时,此变量将正确展开。
答案 2 :(得分:0)
这也发生在我身上,这是在全新安装Visual Studio 2010或任何相关库之后发生的。
当然,首先检查环境变量是否已设置(并且是否正确)。当我从Visual Studio 2005转移到2010时,我也从Windows XP转移到Windows 7,然后一些程序安装在'Program Files(x86)'文件夹而不是没有'(x86)'的文件夹中。记下这一点!
右键单击您知道应该位于环境变量设置的路径之一的include文件并按“打开文件”时,Visual Studio 2010应该会为您提供一个包含目录的列表。环境变量没有被读取,这部分是空的,可能显示简单的东西,比如'/ include'而不是'C:/ Program Files / YourProgram / include'。
我的解决方案相当简单,因为在重新启动计算机之后它才起作用......试着看看这是否适合你。我认为它与环境变量的激活有关,它们在重新启动时全局设置。因此,如果您更改一个,则需要重新启动以使更改生效。