Owin 的 NullReferenceException

NullReferenceException with Owin

我刚刚将一个项目克隆到一台新机器上,我在使用 OWIN 的 MVC 站点上遇到了一个难以调试的问题NullReferenceException

[NullReferenceException: Object reference not set to an instance of an object.]
   Microsoft.Owin.Security.Cookies.<AuthenticateCoreAsync>d__0.MoveNext() +664
   System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +93
   System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +52
   System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() +24
   Microsoft.Owin.Security.Infrastructure.<BaseInitializeAsync>d__2.MoveNext() +860
   System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +93
   System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +52
   System.Runtime.CompilerServices.TaskAwaiter.GetResult() +21
   Microsoft.Owin.Security.Infrastructure.<Invoke>d__0.MoveNext() +427
   System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() +22
   Microsoft.Owin.Host.SystemWeb.Infrastructure.ErrorState.Rethrow() +33
   Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.StageAsyncResult.End(IAsyncResult ar) +150
   Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContext.EndFinalWork(IAsyncResult ar) +42
   System.Web.AsyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +415
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155

发生在

之后
[assembly: OwinStartupAttribute(typeof(Website.Startup))]
namespace Website
{
    public partial class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            ConfigureAuth(app);
        }
    }
}

但这就是我在 F10ing 抛出异常后所能看到的——它永远不会到达第一个控制器的构造函数。

有没有人遇到过这种情况 and/or 可以指出错误的可能原因?

将 OWIN 从 v2 更新到 v3 似乎可以解决此问题。

值得注意的是,所有与 OWIN 相关的包也应该更新。

上面的解决方案对我没有帮助,但是在尝试了很多事情之后我终于找到了答案。

我同时开发了多个解决方案,本地主机 cookie 中一定有问题(每个解决方案都在不同的本地主机端口上运行)。清除我的本地主机 cookie 后,问题得到解决。

从 OWIN v3.0 更新到 v3.1 解决了我的问题。