這是一個真的莫名其妙的問題, 而且這個問題在本機測試時並不會發生, 只有當發行到 IIS (不論是本機或遠端伺服器) 時, 才會發生, 並造成發行失敗。
問題的症狀是這樣的, 當我想把一個 ASP.NET 專案發行到本機的 IIS 時, 跳出一個 「不允許循環檔案參考」錯誤, 從而導致發行失敗。但是, 如果在 VS (我使用的是 VS2012) 中執行, 倒是沒有任何問題發生。
後來我在 "Circular file references are not allowed. Publish ASP.NET (2.0) Website" 這篇文章裡找到解答。原來我並不是唯一遇到這種問題的人; 有其他朋友發現, 這種問題只會出在特定的情況之下, 就是網頁中若包含 User Control, 而且這個 User Control 是放在上層子目錄的時候。此外, 也有人提到這問題發生在網頁有套用巢狀 Master Page 的情況。
在我的專案中, 問題出在我將一個新網頁加入, 而且我有套用巢狀的 Master Page, 也加入了一個 User Control。不過, 我發現我即使改用單層的 Master Page, 錯誤依舊。而且, 我的 User Control 和網頁是位於同一個子目錄。
不管怎樣, 我把這個網頁搬到其它子目錄之後, 這個問題就解決了!