2013-12-18

Visual Studio 2012 升級筆記2:MVC網站之死

升級了VS2012之後,按照本人向來的運氣(人品?!),當然就會發生一些奇怪的狀況....
果不其然,MVC網站在升級之後,建置發生錯誤...

1.WCF服務參考錯誤

先碰到的是更新WCF服務參考(Service Reference)時的錯誤:

自訂工具警告: 找到的組件資訊清單定義與組件參考不符。 (發生例外狀況於 HRESULT: 0x80131040)...
自訂工具警告: 無法匯入 wsdl:portType 詳細資料: 執行 WSDL 匯入延伸時發生例外狀況: System.ServiceModel.Description.DataContractSerializerMessageContractImporter 錯誤: 無法載入檔案或組件 'Castle.DynamicProxy2, Version=2.1.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc' 或其相依性的其中之一。 系統找不到指定的檔案....

找了網路上的一堆討論,發現問題出在「重複使用參考組件中的型別」這件事上頭,將設定從「重複使用所有參考組件中的型別」改成「重複使用指定的參考組件中的型別」,再重新更新服務參考就解決了,足足困了我大半天的時間才找到解法...

原先這項設定是為了在WCF與MVC之間用到的相同型別,但猜測專案因此抓到Crystal Report產製XML的自訂工具來試圖產生WCF Proxy所致,真正的原因是否如此就不得而知。(若有高手知道原因,還請賜教。)



2.部署組件

然後是遇到繁體中文套件部署組件的問題:


參考外國網友發問得知VS 2012應該是不需要這個目錄,
因此刪除該目錄後就可以順利建置及執行網站嘍!

至此,我也可以跟著時代的腳步,繼續開發嘍~~
(謎之音 : 這位老兄,Visual Studio 2013都出了耶....)


沒有留言:

張貼留言

引用 Topshelf 無法進行偵錯的經驗

Topshelf  是一個可以簡化撰寫 Windows Service 的套件,引用之後,我們只要當作撰寫一般 Console 的應用程式就可以。 只是近來撰寫上遇到無法進行Debug的狀況,在Visual Studio一進行偵錯可以看到Console 程式被執行,並顯示...