You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Umbraco项目引用控制器项目后出现MissingMethodException问题求助

Umbraco v13.5.2 + .NET 8 跨项目引用后出现MissingMethodException问题

问题背景

  • 项目A:基于ASP.NET Core(.NET 8.0)的Umbraco v13.5.2 Web项目,原本运行正常
  • 项目B:类库项目,引用同版本Umbraco.Cms.Core,编译无问题,可被控制台应用正常调用
  • 异常现象:项目A添加对项目B的引用后,无法正常启动,浏览器显示空白页面,日志中出现以下错误:
{
  "@t":"2025-01-20T19:02:25.1073019Z",
  "@mt":"Unexpected exception in static IISHttpServer.HandleRequest.",
  "@l":"Error",
  "@x":"System.MissingMethodException: Method not found: 'System.Nullable`1<System.Net.Security.TlsCipherSuite> Microsoft.AspNetCore.Connections.Features.ITlsHandshakeFeature.get_NegotiatedCipherSuite()'.
     at Microsoft.AspNetCore.Server.IIS.Core.IISHttpServer.IISContextFactory`1.CreateHttpContext
     at Microsoft.AspNetCore.Server.IIS.Core.IISHttpServer.HandleRequest(IntPtr pInProcessHandler, IntPtr pvRequestContext)",
  "SourceContext":"Microsoft.AspNetCore.Server.IIS.Core.IISHttpServer",
  "ProcessId":45108,
  "ProcessName":"iisexpress",
  "ThreadId":21,
  "ApplicationId":"***",
  "MachineName":"***",
  "Log4NetLevel":"ERROR"
}

已尝试的无效解决方案

  • 升级Microsoft.AspNetCore.Connections.Abstractions至9.0.1版本
  • 确认两个项目的公共NuGet包版本完全一致
  • 因项目要求使用最新LTS版本,无法升级至Umbraco v15或.NET 9

项目文件代码

项目B(Controllers.csproj)

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

  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
    <OutputType>Library</OutputType>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Umbraco.Cms.Core" Version="13.5.2" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\Entities\Entities.csproj" />
  </ItemGroup>

</Project>

项目A(Umbraco Web项目)

<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
    <RootNamespace>My.Umbraco</RootNamespace>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Umbraco.Cms" Version="13.5.2" />
  </ItemGroup>

  <ItemGroup>
    <!-- Opt-in to app-local ICU to ensure consistent globalization APIs across different platforms -->
    <PackageReference Include="Microsoft.ICU.ICU4C.Runtime" Version="72.1.0.3" />
    <ProjectReference Include="..\Controllers\Controllers.csproj" />
    <RuntimeHostConfigurationOption Include="System.Globalization.AppLocalIcu" Value="72.1.0.3" Condition="$(RuntimeIdentifier.StartsWith('linux')) or $(RuntimeIdentifier.StartsWith('win')) or ('$(RuntimeIdentifier)' == '' and !$([MSBuild]::IsOSPlatform('osx')))" />
  </ItemGroup>

  <PropertyGroup>
    <!-- Razor files are needed for the backoffice to work correctly -->
    <CopyRazorGenerateFilesToPublishDirectory>true</CopyRazorGenerateFilesToPublishDirectory>
  </PropertyGroup>

  <PropertyGroup>
    <!-- Remove RazorCompileOnBuild and RazorCompileOnPublish when not using ModelsMode InMemoryAuto -->
    <RazorCompileOnBuild>false</RazorCompileOnBuild>
    <RazorCompileOnPublish>false</RazorCompileOnPublish>
  </PropertyGroup>

</Project>

内容的提问来源于stack exchange,提问作者B_D

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 19:33:09