首页 > 解决方案 > .net 核心替换更新 dll 实时

问题描述

我有以下解决方案结构:

主机参考:

项目A

项目 B(A 需要 B)

项目 C

我们正在使用“dotnet publish -p:FileVersion=2.0.0.0”构建一个 .net 核心解决方案

部署后,有时我们需要替换一个dll文件来修复bug,我们不想替换整个解决方案(项目B和C)只替换更改的dll文件(项目A)

一旦我们使用“dotnet publish -p:FileVersion=2.1.0.0”重建并尝试仅替换项目 A 的 dll,我们会收到以下错误

未处理的异常捕获 System.IO.FileNotFoundException:无法加载文件或程序集“ProjectB,版本 = 2.1.0.0,文化 = 中性,PublicKeyToken = null”。该系统找不到指定的文件。

使用 dotPeek 我看到在 .net core 和 .net framework 项目 A 中都引用了新版本 2.1.0.0 的项目 b

但是在 .net 框架中,出于同样的原因,它没有强制执行版本检查,因此即使项目 b 位于 2.0.0.0 上,它也已成功加载

关于如何在.net core(3.1)中允许这样做的任何建议?

谢谢。

标签: .net-core

解决方案


推荐阅读