Asp.net
在上下文中找不到 owin.Environment 項
微軟最近推出了新的 ASP.NET 身份 - 替代舊的(簡單)會員。不幸的是,我不能在我的舊項目中使用這個新的會員系統,因為它會拋出 System.InvalidOperationException: No owin.Environment item was found in the context。這是一個已知的錯誤,但微軟對此問題保持沉默。重現此錯誤的最簡單方法 - 它是在 VS 2013 中創建一個新的 Web 應用程序(MVC、WebForms 或 WebApi - 無關緊要)(使用 Web Tools 2013 Preview Refresh),然後轉到登錄頁面。它會起作用的。然後將應用程序中的命名空間更改為原始命名空間以外的任何其他名稱,登錄頁面將引發該錯誤。將名稱空間改回原始名稱(您在創建項目時使用的名稱)將解決此問題。
看起來 .net 儲存了與原始命名空間相關的東西,但我找不到什麼和在哪裡,它不在項目文件夾中。我知道 stackoverflow 不是一個錯誤報告的地方,我只是希望有人已經找到了解決這個問題的方法,或者參與 ASP.NET Identity 開發的人會看到這一點。
它很可能找不到 OWIN Startup 類。Startup 類的預設約定是 [AssemblyName].Startup。如果您不再遵循該約定,則需要在 Web.Config 中指定 Startup 類的全名。
下一個版本的 Microsoft.Owin.Host.SystemWeb 包現在會在找不到 Startup 類時引發詳細的異常消息。