2012-03-12 209 views
1

我有多個項目的解決方案。VS 2010構建問題:參考問題

很少有常見的Bin/Lib/Include文件夾,例如在Lib文件全部出口lib中,可執行在Bin文件夾和報頭中包含的

解 - S 項目A1 - DLL 項目A2 - 埃克 ... 項目的

項目A2依賴於Proj A1

我已經構建完整的解決方案並刪除了除SDK(Bin \ lib \ Include)之外的所有文件夾。因爲它的大的解決方案,所以我們利用這個出口SDK和構建任何應用程序

我現在已經採取了完整的代碼(A1,A2,... AN)和只開了項目A2,

但是,當我建立它給我以下錯誤 無法打開輸入文件'C:\代碼\ Development \ Src \ A2 \ Debug7 \ A1.lib'

爲什麼它不從普通的lib文件夾中拾取庫。

它在VS 2008中工作正常,但在升級到2010之後,它從未工作過。

+0

A2對A1有什麼樣的依賴關係?它需要是@(ProjectReference),而不是程序集@(參考)。 – 2012-03-12 15:27:30

+0

什麼都存在於VS 2008中,升級後我們面臨這個問題。所以看起來像我需要將項目移除到項目依賴項,並在解決方案中添加依賴項。這也是本機應用程序代碼。 – Kasma 2012-03-13 09:52:42

回答

1

我的猜測是你可能在你的A2項目的引用文件夾中仍然有A1的代碼版本。在任何情況下都需要檢查。

+0

我已經刪除了一切,並採取了最新的代碼和SDK(Bin \ Lib \ Include),還有一件事我想分享,如果我從驅動器刪除A1項目。它成功建成。 – Kasma 2012-03-12 13:07:56

1

我只能猜測依賴關係保存在解決方案文件中,所以如果只打開一個項目而不是原始解決方案,那麼這些信息就會丟失。

'C:\代碼\開發的\ src \ A2 \ Debug7 \ A2.lib'

問:爲什麼項目A2試圖打開自己的庫文件?當然,lib文件是輸出(靜態庫或其他模塊使用的導入庫)。

您可能會發現,將A2項目的附加庫目錄(項目屬性的鏈接器部分)設置爲指向正確的路徑將有所幫助 - 告訴它它可以在哪裏找到它所需的庫。

+0

A2.lib是拼寫錯誤,更正了 現在使用VS 2010設計項目到項目依賴關係。解決方案依賴不被MS構建使用 http://blogs.msdn.com/b/vcblog/archive/2010/02/16/project-settings-changes-with-vs2010.aspx – Kasma 2012-03-12 13:13:27