.net “Microsoft.AspNetCore.Mvc.MvcCoreLoggerExtensions'引发异常,”

6yjfywim  于 2023-05-02  发布在  .NET
关注(0)|答案(7)|浏览(230)

我正在做一个。NET Core应用程序,我想启动一个应用程序,但它在这行代码中说:

app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllerRoute(
                    name: "default",
                    pattern: "{controller=Home}/{action=Index}/{id?}");
                endpoints.MapRazorPages();
            });
//...

它说这个错误:
System.TypeInitializationException:'Microsoft.AspNetCore.Mvc.MvcCoreLoggerExtensions'引发异常。”
这是一个新的东西,我从来没有看到过,而启动一个应用程序。我该怎么解决?
内部异常是:
未找到方法:'System.Action`4〈Microsoft.Extensions.Logging.ILogger,!!0,!!1,System. Exception〉Microsoft。Extensions.Logging.LoggerMessage。定义(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,系统。String,Boolean)'。
Main.cs

public class Program
{
    public static void Main(string[] args)
    {
        CreateHostBuilder(args).Build().Run();
    }

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Startup>();
            });
}

.NET Core 6.0是最新版本
身份包含在应用程序中。

332nm8kg

332nm8kg1#

您需要更新Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation
面对同样的问题,在VS2022中使用剃刀模板项目创建的MVC Proj使用了6.0.0-preview.5.21301.17,因此我将包更新为6.0.0-preview.7.21378.6

wj8zmpe1

wj8zmpe12#

好吧,当我试图添加软件包微软。分机号。记录,上面说。NET Core 6.0是不受支持的版本。
我从VS 2022预览版转移过来。NET Core 6预览到VS 2019和.NET Core 5,现在一切正常。
所以这是新的预览版本之间的冲突(或者可能是一个新的微软错误?)D.

xqk2d5yq

xqk2d5yq3#

我也有同样的问题,但没有切换的选择。NET CORE 6预览。
下面是我的CSPROJ:

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <Description>Application description goes here</Description>
    <!-- NuGet Version Number (no pre-release identifiers)-->
    <VersionPrefix>1.0.0</VersionPrefix>
    <Authors>Your name here</Authors>
    <TargetFramework>net6.0</TargetFramework>
    <PackageProjectUrl>--redacted--</PackageProjectUrl>
    <GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
    <GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
    <GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
    <!-- Should be major.minor.0.0-->
    <AssemblyVersion>1.0.0.0</AssemblyVersion>
    <!-- Should be major.minor.version.0-->
    <FileVersion>1.0.0.0</FileVersion>
    <TypeScriptToolsVersion>3.3</TypeScriptToolsVersion>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="AutoMapper" Version="10.1.1" />
    <PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="8.1.1" />
    <PackageReference Include="BuildBundlerMinifier" Version="3.2.449" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="6.0.0-preview.7.21378.6" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="6.0.0-preview.7.21378.4" />
    <PackageReference Include="Microsoft.jQuery.Unobtrusive.Ajax" Version="3.2.6" />
    <PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink" Version="2.2.0" />
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="6.0.0-preview.7.21413.1" />
    <PackageReference Include="Microsoft.Web.LibraryManager.Build" Version="2.1.113" />
  </ItemGroup>

  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.2" />
  </ItemGroup>

  <ItemGroup>
    <Content Update="appsettings.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </Content>
  </ItemGroup>

  <ItemGroup>
    <Folder Include="wwwroot\lib\" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\MyProject.Data\\MyProject.Data.csproj" />
    <ProjectReference Include="..\\MyProject.Services\\MyProject.Services.csproj" />
  </ItemGroup>
</Project>
daupos2t

daupos2t4#

我也面临着同样的问题。为了进行实验,我创建了一个新项目,并添加了最新版本的Microsoft。扩展。登录到它(目前为6.0.0-preview.19)。项目崩溃了,出现了和你一样的错误。问题是LoggerMessage中没有四参数重载。定义。将软件包降级到版本6。0.0-preview.21352.12帮助了我

ruarlubt

ruarlubt5#

当我尝试升级我的Blazor WASM www.example时,得到了完全相同的错误 www.example.com .0到6.0.0。我正在使用Serilog,但不确定这是否是一个因素。

qyyhg6bp

qyyhg6bp6#

我没什么问题。net 6和微软。AspCore库全部为5。0.12.如果我更新到6.0.0我有这个问题我继续开发,当我试图集成Auth0时,我遇到了同样的问题。我唯一的解决方案,以解决这个异常是降级,然后整个应用程序。净值5.0。0.12.

ccgok5k5

ccgok5k57#

这可能与Microsoft上的兼容性问题有关。AspNetCore.Authentication.与已安装的EF库协商。
更新以下库(使用Nuget)

  1. Microsoft.EntityFrameworkCore到最新,
  2. Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation
    这可能会解决这个问题

相关问题