2012-08-28 40 views
0

Visual Studio中未能生成解決方案 「S1」 與該錯誤消息:Visual Studio中未能正確地加載引用項目箱輸出(路徑錯誤?)

錯誤8:所引用的組件,「d:\ S0 \ foo \ bin \ Debug \ foo.dll「找不到 。如果此組件是由另一個項目生產的,請確保在構建此項目之前構建該項目。

引用的foo項目實際上原本是不同解決方案的一部分(在錯誤消息中稱爲S0),並通過「添加現有項目」進行了包含。

然而,富沒在S0建立精細及其斌輸出存在。由於兩個S0和S1專門建立的x86,正確的路徑應該是「S0 \富\ BIN \ X86 \調試\ foo.dll」,所以纔出現的Visual Studio不尋求在正確的地方二進制文件。

美孚的確顯示S1由於其從S0沒有包括在S1等項目引用缺少的參考,有可能。這不應該成爲一個問題,因爲所需的二進制文件已經存在。

我手動從「本\ 86 \調試」將文件複製到「斌\調試」,雖然不刪除有關缺少引用的警告,這實際上是由VS建立S1很好,所以很明顯的Visual Studio實際上得到了由困惑「異常」'bin \ x86 \ debug'路徑。

我應該如何解決這個問題?

回答

1

您的構建輸出位置是可自定義的。我相信,如果項目的其他平臺配置存在,則標準VS行爲將創建x86文件夾。

這不是一個Visual Studio的bug;這聽起來像(雖然該項目在解決方案中),您有一個二進制引用已創建一個不正確的路徑。

0

現在我正在使用一種解決方法。通過手動將S0中的輸出路徑更改爲「常規」(bin \ Debug),將x86 bin文件放入VS正在查找的位置,然後允許構建S1。雖然這似乎偏離了最佳做法,所以我不認爲這是一個長期的解決方案。

從我的角度來看,缺少搜索在x86子文件夾中的bin文件是在Visual Studio乾淨錯誤,因爲這兩個S0和S1專門建立86。

+0

您的構建輸出位置是可自定義的。我相信標準VS行爲是爲了創建'x86'文件夾*,如果其他平臺配置存在於項目中的話。這不是Visual Studio的錯誤;這聽起來像(雖然該項目在解決方案中),你有一個*二進制*參考,已創建一個不正確的路徑。 –

+0

@DanPuzey:_if其他配置存在_部分聽起來像是一個很好的解釋問題的來源(張貼!)。前段時間,這些項目已經從AnyCPU轉換到x86,所以這可能是一個保留。 – mafu

+0

@DanPuzey:關於二進制文件的引用,我手動檢查了所有的引用,他們指向項目文件而不是二進制文件。 – mafu

0

我修正了這種方式。刪除提供錯誤的項目並重新添加並構建它們。

相關問題