【问题标题】:Cannot Load Microsoft.AspNetCore.Razor.Runtime after installing Microsoft.AspnetCore.Authentication.AzureADB2C.UI安装 Microsoft.AspnetCore.Authentication.AzureADB2C.UI 后无法加载 Microsoft.AspNetCore.Razor.Runtime
【发布时间】:2020-02-12 22:54:49
【问题描述】:

我有一个简单的 AspNet Core 3.1.1 Web 应用程序,它编译和运行良好。公平地说,除了自定义 HTML 和 CSS 之外,该站点是使用 Visual Studio 模板创建的开箱即用项目。

唯一添加的 nuget 包是 BuildWebCompiler 1.12.394 — 不是最新的,虽然我已经尝试更新到最新并且它不会影响后面的问题。

如果我安装了 nuget 包 Microsoft.AspNetCore.Authentication.AzureADB2C.UI 3.1.1,一切都会继续编译。但是,我在Startup.ConfigureServices 期间遇到了以下异常:

System.IO.FileNotFoundException
  HResult=0x80070002
  Message=Could not load file or assembly 'Microsoft.AspNetCore.Razor.Runtime, 
  Version=3.1.1.0, 
  Culture=neutral, 
  PublicKeyToken=adb9793829ddae60'. The system cannot find the file specified.
  Source=<Cannot evaluate the exception source>
  StackTrace:<Cannot evaluate the exception stack trace>

除了 nuget 安装外,项目中没有任何代码或设置发生更改。抛出异常的代码是:

public void ConfigureServices(IServiceCollection services)
{
   services.AddRazorPages(); // <--- throws
   services.AddServerSideBlazor();
}

我四处寻找,发现这个文件未找到异常正在引发与 Core 3.1.x 相关的几个程序集,但没有特别提到 Razor.Runtime

Microsoft.AspNetCore.Razor.Runtime 有一个 nuget,但它的版本是 2.2.0。无论如何,安装它似乎没有帮助。

【问题讨论】:

    标签: c# asp.net-core .net-assembly azure-ad-b2c razor-pages


    【解决方案1】:

    这是一个已知问题。您可以跟踪相关线程herehere。那是因为您更新了 NuGet 包但尚未安装 3.1.1 运行时。

    所以你可以尝试以下两种方法:

    • Microsoft.AspNetCore.Authentication.AzureADB2C.UI 降级为3.1.0
    • 使用Microsoft.AspNetCore.Authentication.AzureADB2C.UI 版本3.1.1 但升级到SDK 3.1.101

    参考:https://github.com/dotnet/aspnetcore/issues/18334#issuecomment-581183460

    【讨论】:

      【解决方案2】:

      使用Microsoft.AspNetCore.Authentication.AzureADB2C.UI 3.1.0 似乎可以解决问题。

      我还没有调查原因。

      【讨论】:

        猜你喜欢
        • 2014-10-13
        • 1970-01-01
        • 1970-01-01
        • 2018-12-26
        • 1970-01-01
        • 2013-10-31
        • 1970-01-01
        • 1970-01-01
        • 2020-02-13
        相关资源
        最近更新 更多