這幾天在整理項目的工程文件,因為需要控制各個工程的生成次序,而VS的解決方案提供了一種"項目依賴項"的方式去控制其次序.
這個是前提,我發現有的工程死活都無法依賴其他工程,重新加進來也是,重新啟動解決方案還是,不知道是因為何故.
后來,我打開了解決方案的sln文件,發現有很多的GUID.還發現了一個字段:ProjectSection(ProjectDependencies).望文生義,可以知道,依賴項應該就是保存在這個字段,我還發現,不能依賴其他工程的那個工程里面有重復的GUID項,后面我拿這個重復的GUID一搜索,發現了:原來依賴的幾個工程的GUID重復了!看來問題的根結在此了.
項目的GUID在vcproj的ProjectGUID這個字段里面保存的,理論上說其他語言的工程配置應該是差不多的.
另外,我還驗證了,這個項目的GUID是隨機生成的.
解決方法:
解決方法很簡單,去下載一個GUIDGen.exe重新生成一個GUID就可以了,然后從解決方案里面把該工程刪除并重新添加,再重新設置依賴項的時候你會發現,一切都正常了:)