2013-10-18 214 views
0

我的設置是這樣的:奇怪的符號

  • 域模型項目=>包含我的實體。與服務器和客戶端應用程序共享。

  • Server/webservices => MVC WebAPI和數據以JSON形式返回,使用Json.Net庫。

  • Client => C#Winforms應用程序,使用RestSharp和Json.Net庫檢索數據。

在闡述我的設置,我想指出,我的設置工作,沒有任何問題,直到最近的一些變化。

我已經爲我的一個實體(Domain Model項目)添加了一些新屬性,修改了我的webservices以利用所執行的更改並重新啓動。好吧,它的工作,並返回JSON也告訴我,新的領域正在處理不正確。

到目前爲止這麼好。現在,客戶端部分。 我已經從服務器調試收到的JSON,並且新數據(使用新屬性)很好。然而,當Json.Net嘗試將數據解析爲實體時,只有少數屬性出現。 當我嘗試用數據來填充我的數據,我得到MissingMethodException

{ 「未找到方法: 'System.String Domain.Equipment.get_Weight()'。」}

Weight確實是我最近的變化之一,但代碼確實可以編譯。

我試過建設,重建,刪除和添加引用到我的領域模型項目,再次建設和重建,我仍然得到相同的異常錯誤。

我已經注意到了,然而,一個奇怪的圖標VS調試時,如圖所示:

strange icon

我是相當新的VS2012,所以它可能是一些小事。 關於該圖標的任何想法?或者爲什麼這可能發生?

如需進一步解釋,請留下評論,我會編輯。

+0

你試過重啓vs? :) –

+0

是的,沒有結果。要重啓,我會提供一些反饋。 – Joel

+0

不,重新啓動不起作用。 – Joel

回答

4

這個奇怪的藍色圖標表示該房產受到保護。如果房產是私人的,你會得到一個停止符號。這些圖標與變量窗口中顯示的較小圖標不同(私人掛鎖,保護星號)。

你可以看到這裏的圖標的列表: http://msdn.microsoft.com/en-us/library/y47ychfe.aspx

雖然該名單並不容器,當你將鼠標懸停在變量,比如你已經screenshotted藍色圖標出現較大的圖標。我真的不知道這些不同的圖標是否是Visual Studio中的一個bug。爲變量窗口和上下文/樹視圖使用相同的圖標似乎更有意義。

如果您收到MissingMethodException,那麼它確實意味着您正在調用程序集的舊版本。你有GAC的大會? GAC中可能有一個較舊的版本,它正在挑選它。

您也可以嘗試回收或萬一任何重新啓動已緩存的東西(例如IIS)

+0

你是什麼意思回收?我沒有接受過它(至少我沒有故意這麼做)。但是,如果是這種情況,爲什麼這隻會影響客戶端(而不是服務器)? – Joel

+0

我對web開發瞭解不多,我正在考慮回收IIS,任何清除程序集緩存版本的東西 –

+0

我會將您的回答標記爲已接受,因爲指出「這實際上意味着您正在調用舊的大會版本「。這幫助我找到了正確的解決方案。 – Joel

0

以下其中一個(或它們的組合!)解決了我的問題:

  • 拆除工程並重新添加。
  • 清潔
  • 刪除binobj文件夾(我想這是它!)
  • 重建
  • 重啓VS
  • 重啓

我把這個留給誰遇到未來的讀者同樣的問題。