RegAsm报错RA0000:无法加载System.Runtime程序集求助
解决RegAsm加载.NET 6程序集失败的问题
问题原因
你使用的是.NET Framework版本的RegAsm(路径C:\Windows\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe),该工具仅支持处理.NET Framework程序集。而你的目标程序集是基于.NET 6构建的,属于.NET Core/.NET 5+系列,两者运行时环境不兼容,因此无法找到.NET 6专属的System.Runtime程序集。
解决方案
使用.NET 6对应的RegAsm工具
.NET 5+的RegAsm工具集成在.NET SDK中,无需手动查找路径,直接用dotnetCLI命令替代传统RegAsm:CHCP 65001 dotnet regasm "C:\Users\mesut\Desktop\MySampleSwAddın\MySampleSwAddın\MySampleSwAddın\bin\Debug\net6.0\MySampleSwAddın.dll" /tlb pause该命令会自动匹配.NET 6版本的工具,确保能正确加载所有.NET 6依赖程序集。
确认.NET 6 SDK已安装
若执行dotnet regasm提示命令不存在,先运行dotnet --list-sdks查看已安装的SDK版本,确认包含6.0.x系列版本。如果未安装,需先安装.NET 6 SDK。额外注意事项
- 生成类型库(
/tlb参数)要求程序集已开启COM可见性:可在项目属性中勾选「Make assembly COM-Visible」,或在代码中对需要暴露的类型添加[ComVisible(true)]特性。 - 若需注册到系统级COM目录,需以管理员身份打开命令提示符/PowerShell执行命令。
- 生成类型库(
内容的提问来源于stack exchange,提问作者mesyen
相关产品推荐
相关产品推荐

