我一直在與VS2015運行時遇到的一個奇怪的編譯錯誤作鬥爭。錯誤是當我編譯(重建)一個解決方案(這是一個包含96個項目的大型解決方案)時,我收到了一個編譯錯誤。錯誤是:VS2015解決方案構建給編譯錯誤
70>------ Rebuild All started: Project: MyBase, Configuration: Debug Any CPU ------ 70>I:\WS\Main\Common\MyBase\MyBase\BaseApplication.cs(1,7,1,10): error CS0246: The type or namespace name 'MyProject' could not be found (are you missing a using directive or an assembly reference?)
所以,我做的第一件事就是嘗試編譯MyBase
,它編譯罰款。然後我單獨編譯(重建)項目的各種團體,直到它試圖編譯使用MyBase的第一個項目的時候,給人一種略微不同的錯誤終於出錯:
44>------ Rebuild All started: Project: MyBase, Configuration: Debug Any CPU ------
43>CSC : error CS0006: Metadata file 'I:\WS\Main\Common\MyBase\MyBase\bin\Debug\MyBase.dll' could not be found
,我試圖接下來的事情是在一個MSBuild整個解決方案的命令行 - 工作。
最後,回到VS2015,我試着做一個重建,然後構建,並且解決方案沒有錯誤。看看構建中的數字,它看起來像它正在執行一些不同步的構建步驟(44之前的44)。這可能嗎?是否有某種異步構建已經進入VS並開始導致這種行爲。我已經雙倍和三倍檢查了依賴關係,並且他們對我來說似乎很好。
看起來像你沒有定義你的項目依賴關係,並正確地構建訂單。或者你有循環引用(即項目x取決於項目y,反之亦然)。 – derpirscher
如何設置這些項目依賴關係。 https://msdn.microsoft.com/en-us/library/bb165133.aspx – Stringfellow
我沒有循環依賴(事實上,我不相信你可以如果你有項目依賴)。我檢查過了,構建順序對我來說是正確的,也就是說,項目按我期望的順序構建。我所做的嘗試是從項目中刪除引用錯誤的引用,然後重新添加項目引用;這使它工作。但是,解決方案或構建順序中沒有任何更改! –