我通過將名稱空間分隔爲單獨的項目來重構我的MVC/Entity Framework項目。所以我現在有這樣的結構:當我在Visual Studio中更改配置時,項目無法生成
MySolution.Data
MySolution.Data.Contracts
MySolution.Model
MySolution.Website
一切都在我的開發環境中建立和運行。然而,當我試圖部署到我的「分段」服務器時,我遇到了問題。
我遇到的問題是,當我將解決方案配置更改爲「分段」時,它不會生成。在配置管理器中,所有項目也都有「分段」配置。我認爲這些是在添加新項目時創建的。
我嘗試的第一件事是創建一個新的解決方案配置,其中包含從Debug命名爲「Solution 2」的所有內容。沒有運氣,仍然失敗。
然後我想,我只需要一個不同的網站項目配置 - 我在哪裏轉換配置文件。所以我改變了解決方案的配置,告訴它構建和部署Hub.Model的「調試」配置 - 從第一個錯誤消息看起來像問題項目。果然現在就建立起來了。 (263)
第一錯誤信息是:
類型或命名空間名稱「模式」不存在於命名空間「System.ComponentModel.DataAnnotations」存在(是否缺少程序集引用?) MySolution.Model
所以看起來與實體框架的dll引用一個問題
雖然我有現在一個解決辦法,我很擔心,這不明原因的錯誤會回來咬我在某些時候在未來 - 可能就在我即將部署緊急修復時。
那麼,當我更改項目配置時,爲什麼我的一個項目無法構建?
嗯這聽起來奇怪。與命名空間相關的所有263錯誤是否都不存在? – Luke
@Coulton它當然看起來像是根本原因。關於爲什麼它會建立在一個配置中而不是另一個配置中。無論如何,我繼續我的旅程 - 這是從MVC 4升級到MVC 5。所以我發佈了這個問題後升級了一些軟件包,並且我從Models項目中完全刪除了MVC。現在它可以構建,無論配置如何,所以可能會好起來的。謝謝 – Colin
很好聽,一切順利! – Luke