2013-02-03 36 views
0

我剛剛在Windows Azure上部署了我的web應用程序,該應用程序在本地運行良好,並且出現令人困惑的錯誤。在Azure上我的代碼失敗在下面一行:EF 4.3在Azure和本地Dev之間有所不同

context.Dogs.Add(entity); 

我得到的錯誤是:

集合被修改;枚舉操作可能不會執行

我知道有一個已知的錯誤(Entity framework Collection was modified; enumeration operation may not execute),但是有沒有人有任何見解,爲什麼它可以在本地運行良好,但不在Azure上?

+0

您是否在本地開發環境中安裝了.NET 4.5?您是否在Azure上使用.NET 4.5? –

+0

@JamesHarris我的本地開發環境中安裝了4.5。本地應用程序和Azure應用程序池的目標都是4.0。 –

+1

Ahhh,installed.Net 4.5仍然對.NET 4.0進行了更改,並靜靜地修復了.NET Framework中的錯誤,其中可能包括應用程序演示的行爲。嘗試在Azure上定位4.5。除非您部署到具有或可以安裝.NET 4.5的環境,否則不應該在開發PC上安裝它,以避免出現這些「無聲修復」。 –

回答

2

安裝.Net 4.5對.NET 4.0進行了更改,並修復了.NET Framework中的錯誤,即使對於目標爲4.0的應用程序也是如此。

這可能包括您的應用程序演示的行爲。

嘗試在Azure上定位4.5,以確保您部署的應用程序也收到了這些修復程序。

除非您部署到具有或可以安裝.NET 4.5的環境,否則您應該在開發PC上安裝從未安裝以避免由「無提示修補程序」導致的這些類型的錯誤。

相關問題