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

NET7插件实现COM免注册配置遇0x8013101b错误求助

解决方案:.NET 7 COM 免注册运行时缺失问题(0x8013101b)

核心原因

.NET Core/.NET 5+ 的COM免注册机制和.NET Framework完全不同,runtimeVersion属性仅适配Framework,无法指定.NET 7运行时,需要通过运行时配置文件或清单扩展来指定所需的.NET版本。

具体解决步骤

1. 添加.NET运行时配置文件

在C#插件DLL的同目录下创建名为[插件文件名].runtimeconfig.json的文件,内容示例:

{
  "runtimeOptions": {
    "tfm": "net7.0",
    "frameworks": [
      {
        "name": "Microsoft.NETCore.App",
        "version": "7.0.0"
      }
    ]
  }
}
  • 确保version与你安装的.NET 7运行时版本一致(可通过dotnet --list-runtimes查看已安装版本)。
  • 该文件会被.NET激活器自动读取,用于定位正确的运行时。

2. 调整应用清单文件

在MFC客户端的清单中,为COM组件添加激活上下文扩展,指定.NET运行时的依赖:

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <!-- 原有清单内容 -->
  <dependency>
    <dependentAssembly>
      <assemblyIdentity name="Microsoft.NETCore.App" version="7.0.0" processorArchitecture="amd64" publicKeyToken="cc7b13ffcd2ddd51" />
    </dependentAssembly>
  </dependency>
  <!-- COM免注册的组件定义 -->
  <file name="YourNet7ComPlugin.dll">
    <comClass clsid="{你的COM类ID}" threadingModel="Both" />
  </file>
</assembly>
  • processorArchitecture需匹配你的插件编译架构(x86/x64/AnyCPU)。
  • publicKeyToken固定为cc7b13ffcd2ddd51(.NET Core/.NET 5+的公共密钥令牌)。

3. 确保.NET 7运行时已正确部署

  • 如果是部署到无.NET环境的机器,需打包自包含部署的COM插件:
    在C#项目的.csproj中添加配置:
    <PropertyGroup>
      <PublishSingleFile>false</PublishSingleFile>
      <SelfContained>true</SelfContained>
      <RuntimeIdentifier>win-x64</RuntimeIdentifier> <!-- 对应目标架构 -->
    </PropertyGroup>
    
    执行dotnet publish后,将发布目录下的所有文件(包括运行时文件)与MFC客户端放在同一目录。

4. 验证激活上下文

使用Windows SDK的mt.exe工具验证清单是否正确:

mt.exe -validate YourMfcApp.exe.manifest

如果清单有语法错误,会输出具体问题,修正后重新嵌入到MFC客户端中。

关键注意事项

  • .NET 7 COM免注册不支持runtimeVersion属性,必须通过runtimeconfig.json或清单依赖项指定运行时。
  • 插件编译时需启用"为COM互操作注册"(项目属性→生成→勾选"为COM互操作注册"),但无需手动执行regsvr32。
  • 确保MFC客户端和.NET插件的架构一致(均为x86或x64),否则会出现加载错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 14:50:30