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具有相同的值,這個變量將在項目的屬性中使用時,可以正確地擴大。

相關問題