2017-06-13 18 views
0

私のコードはDEVで正常に動作しますが、私はテストサーバーに公開するときに、一つの画面にエラーを与えているリモートマシン上で起こります.Collections.Generic.List 1[Intranet.ViewModels.EditingRequestsViewModel]', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable 1 [Intranet.ViewModels.ITRequestsViewModel] '。型の不一致のエラーは、

これは、コントローラのコードで、意図したとおり、それはEditingRequestsViewModelを使用しています。

public ActionResult Index() 
    { 
     var myList = db.Database.SqlQuery<EditingRequestsViewModel>("EXEC [DBO].[spGetRequests]").ToList(); 
     return View(myList); 
    } 

そして、ここでは、ビューの最初の行です:

@model IEnumerable<Intranet.ViewModels.EditingRequestsViewModel> 

この同じコードが期待するのはなぜテストサーバーに公開されたときに別のモデルですか? 「Clean Solution」、「ソリューションの再構築」、Dllの削除、デバッグとリリースの両方の設定を使用した(繰り返し)再デプロイを試しました。変化なし。

これが始まる前に、自分のコードをTFSにチェックして、プロジェクトファイルのサーバーバージョンを取得したときに矛盾が発生していたことに注意してください。これは、この "編集"コントローラが見えない(それは新しい)いくつかの問題を引き起こしましたが、私はそれを修正し、すべてdevでうまくいきます。

ファイルに隠れた参照がありますか?

+0

.ToList後.AsEnumerable()()あなたの関数に..醜いが、価値がシュート – uk2k05

+0

おかげでそれのdidnを追加」仕事。 – Geminirand

+0

そのエラーのスタックトレースを投稿できますか?それはテストサーバー上でのみ発生するので、おそらくdevマシンに表示されないテストサーバーで何か変わったことが起こります。 –

答えて

0

だけ変更しようと試みる

@model IEnumerable<Intranet.ViewModels.EditingRequestsViewModel> 

@model List<Intranet.ViewModels.EditingRequestsViewModel> 
+0

@ Geminirand辞書に渡されたモデル項目は、 'System.Collections.Generic.List'型ですが、ビュー内でモデルIEnumerableを使用しています。だから、それを元に戻してみてください。 –