安装 Microsoft.AspnetCore.Authentication 后无法加载 Microsoft.AspNetCore.Razor.Runtime。AzureADB2C.UI
Cannot Load Microsoft.AspNetCore.Razor.Runtime after installing Microsoft.AspnetCore.Authentication.AzureADB2C.UI
我有一个简单的 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
。在任何情况下,安装它似乎都没有帮助。
使用 Microsoft.AspNetCore.Authentication.AzureADB2C.UI 3.1.0
似乎可以解决问题。
我还没有调查原因。
这是一个已知问题。您可以追踪相关话题 here and here。那是因为您更新了 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
我有一个简单的 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
。在任何情况下,安装它似乎都没有帮助。
使用 Microsoft.AspNetCore.Authentication.AzureADB2C.UI 3.1.0
似乎可以解决问题。
我还没有调查原因。
这是一个已知问题。您可以追踪相关话题 here and here。那是因为您更新了 NuGet 包但尚未安装 3.1.1 运行时。
所以你可以尝试以下两种方式:
- 正在将
Microsoft.AspNetCore.Authentication.AzureADB2C.UI
降级为3.1.0
- 使用
Microsoft.AspNetCore.Authentication.AzureADB2C.UI
版本3.1.1
但升级到 SDK3.1.101
参考:https://github.com/dotnet/aspnetcore/issues/18334#issuecomment-581183460