這幾天在整理項(xiàng)目的工程文件,因?yàn)樾枰刂聘鱾€(gè)工程的生成次序,而VS的解決方案提供了一種"項(xiàng)目依賴項(xiàng)"的方式去控制其次序.
這個(gè)是前提,我發(fā)現(xiàn)有的工程死活都無(wú)法依賴其他工程,重新加進(jìn)來(lái)也是,重新啟動(dòng)解決方案還是,不知道是因?yàn)楹喂?
后來(lái),我打開(kāi)了解決方案的sln文件,發(fā)現(xiàn)有很多的GUID.還發(fā)現(xiàn)了一個(gè)字段:ProjectSection(ProjectDependencies).望文生義,可以知道,依賴項(xiàng)應(yīng)該就是保存在這個(gè)字段,我還發(fā)現(xiàn),不能依賴其他工程的那個(gè)工程里面有重復(fù)的GUID項(xiàng),后面我拿這個(gè)重復(fù)的GUID一搜索,發(fā)現(xiàn)了:原來(lái)依賴的幾個(gè)工程的GUID重復(fù)了!看來(lái)問(wèn)題的根結(jié)在此了.
項(xiàng)目的GUID在vcproj的ProjectGUID這個(gè)字段里面保存的,理論上說(shuō)其他語(yǔ)言的工程配置應(yīng)該是差不多的.
另外,我還驗(yàn)證了,這個(gè)項(xiàng)目的GUID是隨機(jī)生成的.
解決方法:
解決方法很簡(jiǎn)單,去下載一個(gè)GUIDGen.exe重新生成一個(gè)GUID就可以了,然后從解決方案里面把該工程刪除并重新添加,再重新設(shè)置依賴項(xiàng)的時(shí)候你會(huì)發(fā)現(xiàn),一切都正常了:)