如何解决Autodesk Revit 2019使用Microsoft.Extensions.Hosting包报错问题
问题解决方案
核心原因
Revit 2019/2020基于**.NET Framework 4.7.2/4.8**,而Microsoft.Extensions.Hosting 5.0及以上版本(包括你尝试的7.0.0、8.0.0)仅支持.NET Core/.NET 5+,不再兼容.NET Framework环境,因此会出现加载错误。Revit 2021能运行大概率是因为其环境或项目配置兼容.NET 6+运行时。
解决步骤
- 降级使用兼容.NET Framework的包版本:选择
Microsoft.Extensions.Hosting3.1.x版本(这是最后一批支持.NET Framework 4.6.1+的稳定版),通过NuGet安装即可。 - 处理程序集绑定重定向(若出现版本冲突):在插件的
app.config文件中添加绑定重定向配置,统一相关依赖组件的版本,示例如下:<dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.DependencyInjection" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-3.1.28" newVersion="3.1.28" /> </dependentAssembly> - 匹配项目目标框架:将插件项目的目标框架设置为**.NET Framework 4.7.2**(对应Revit 2019),避免因框架不匹配导致加载失败。
结论
Revit 2020及以下版本并非完全无法使用该包,只是不能用5.0及以上的高版本,必须选择3.1.x这类兼容.NET Framework的旧版本。
内容的提问来源于stack exchange,提问作者Imkc
相关产品推荐
相关产品推荐

