2012-08-01 74 views
0

我有一個使用MVC3 Razor製作的Web應用程序。在Windows Server 2008 r2中運行應用程序時,給定的鍵不存在於字典錯誤中

應用程序正常啓動的瀏覽器,但把一些值後的文本框&點擊搜索按鈕,我得到錯誤的

給定的關鍵是不存在的字典」。

這隻發生在Windows Server 2008 R2中。在其他操作系統,如Windows 7,Windows Server 2008 SP1中,它工作正常。

下面是堆棧跟蹤

[KeyNotFoundException: The given key was not present in the dictionary.] 
    System.Collections.Generic.Dictionary`2.get_Item(TKey key) +12686831 
    CVR_Prototype.Controllers.HomeController.CvrDetailsCompleted() +171 
    lambda_method(Closure , ControllerBase , Object[]) +79 
    System.Web.Mvc.Async.<>c__DisplayClass7.<BeginExecute>b__5(IAsyncResult asyncResult) +288 
    System.Web.Mvc.Async.<>c__DisplayClass41.<BeginInvokeAsynchronousActionMethod>b__40(IAsyncResult asyncResult) +22 
    System.Web.Mvc.Async.<>c__DisplayClass3b.<BeginInvokeActionMethodWithFilters>b__35() +129 
    System.Web.Mvc.Async.<>c__DisplayClass51.<InvokeActionMethodFilterAsynchronously>b__4b() +810887 
    System.Web.Mvc.Async.<>c__DisplayClass51.<InvokeActionMethodFilterAsynchronously>b__4b() +810887 
    System.Web.Mvc.Async.<>c__DisplayClass39.<BeginInvokeActionMethodWithFilters>b__38(IAsyncResult asyncResult) +15 
    System.Web.Mvc.Async.<>c__DisplayClass2c.<BeginInvokeAction>b__22() +33 
    System.Web.Mvc.Async.<>c__DisplayClass27.<BeginInvokeAction>b__24(IAsyncResult asyncResult) +811468 
    System.Web.Mvc.<>c__DisplayClass19.<BeginExecuteCore>b__14(IAsyncResult asyncResult) +28 
    System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +20 
    System.Web.Mvc.AsyncController.EndExecuteCore(IAsyncResult asyncResult) +67 
    System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +20 
    System.Web.Mvc.AsyncController.EndExecute(IAsyncResult asyncResult) +53 
    System.Web.Mvc.<>c__DisplayClassb.<BeginProcessRequest>b__4(IAsyncResult asyncResult) +42 
    System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +20 
    System.Web.Mvc.<>c__DisplayClasse.<EndProcessRequest>b__d() +54 
    System.Web.CallHandlerExecutionStep.OnAsyncHandlerCompletion(IAsyncResult ar) +136 

回答

0

來源http://shahvaibhav.com/solving-the-given-key-was-not-present-in-the-dictionary-error-of-visual-studio-2010/

在開發MVC3剃刀應用我遇到一個奇怪的錯誤來了「給定的鍵不存在在詞典中」。

在谷歌搜索幾個小時後,我找到了這個錯誤的解決方案。

其實這個錯誤表示「這通常意味着你已經安裝了一個自定義的數據提供,使用提供者創建一個服務器資源管理器連接,然後卸載提供商而不刪除服務器資源管理器條目」 爲了解決這個錯誤1你必須做的是關閉所有的Visual Studio實例。

現在去你的用戶AppData目錄(如C:\用戶\管理\ AppData的) (注意:應用程序數據可能無法在Windows資源管理器中顯示,如果你有「顯示隱藏文件和文件夾」關閉)

n AppData轉到漫遊> Microsoft> Visual Studio> 10.0> ServerExplorer

在那裏您會找到名爲DefaultView.SEView的文件。這些文件存儲所有連接。

這是一個普通的XML文件,因此從理論上講,您可以通過其標籤找到啞連接並刪除包含的DataViewNode XML元素。在實踐中,我沒有太多運氣 - 文件通過索引存儲針對連接的Blob,因此刪除單個項目可以丟棄這些索引。但是如果你定義了很多連接並且你不想重新創建連接,那麼在你比我幸運的情況下試試這個可能是值得的。 否則,只需刪除DefaultView.SEView文件。

現在重新啓動visual studio &其完成。現在你從這個不好的錯誤中解脫出來了。

+0

這正是我解決我的問題。 – 2012-08-02 12:01:07

相關問題