【问题标题】:ClaimsPrincipal.Current Visual Studio 2017 different behaviorClaimsPrincipal.Current Visual Studio 2017 不同的行为
【发布时间】:2018-01-26 22:02:17
【问题描述】:

我在 2017 年运行 VS2012 MVC 5 项目。一切似乎都很好,除了 ClaimsPrincipal.Current 不返回相同的东西!!

完全相同的代码在 VS2012 ,开发和生产服务器上完美运行。 虽然从 VS2017 ClaimsPrincipal.Current 运行项目时行为不同。

做了一些研究,我发现了这篇文章 http://davidpine.net/blog/principal-architecture-changes/

声明在 .NET Core 中 ClaimsPrincipal.Current 的行为应该不同。

问题是,就我而言,我在两个 IDE (4.0.30319.42000) 中运行完全相同的 .NET 版本,并使用 Environment.Version 进行了验证。

ClaimsPrincipal.Current 上按 F12 也会导航到完全相同的 mscorlib.dll 文件。

任何帮助将不胜感激。

【问题讨论】:

    标签: c# asp.net-mvc visual-studio asp.net-mvc-5 visual-studio-2017


    【解决方案1】:

    找到造成这种情况的原因!

    WebMatrix.Data.dll
    WebMatrix.WebData.dll
    

    当这些文件存在于 bin 文件夹中时,它们会导致此行为。 此外,它们会覆盖 RazorVersion 并导致开发服务器抛出不匹配的程序集引用异常。

    在我的项目中,我参考了 WebMatrix.WebData 版本 2.0.0.0

    Visual Studio 2012 出于某种原因忽略了该引用,并且没有将 WebMatrix.dll 发布到 bin 文件夹,因此一切正常。

    Visual Studio 2017 将这些 dll 发布到 bin 文件夹中,这导致了此冲突,这可能覆盖了内置的 Simple Membership Provider 实现。

    删除对 WebMatrix 的引用解决了该问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-02
      • 2020-07-28
      • 1970-01-01
      • 2018-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多