总是强制引用DLL更新

本文关键字:DLL 更新 引用 | 更新日期: 2023-09-27 18:14:15

我正在研究一个生成一些dll的解决方案。假设项目A生成A.dll。项目B使用A.dll来执行一些功能。

当项目B运行时,它检查A.dll是否存在于输出目录中,如果不存在,它从HintPath复制A.dll(正如我所理解的)。但是如果A.dll已经在输出目录中,它不会复制过来。

因此,如果项目A发生了更改并生成了一个新的A.dll,项目B将不会得到新的A.dll,直到输出目录中的副本被删除。因此,如果您运行项目B,它将使用旧代码。

是否有一种方法来强制dll总是被复制?也许在构建项目B之前删除输出目录中的副本?

使用ProjectReference会很容易,但是我们使用的另一个构建系统不支持。

总是强制引用DLL更新

解决这个问题的一种方法是在项目A中创建一个Post-Build事件。您可以告诉它在每次构建Project a时将a.l ll复制(或替换)到某个目录。像这样:

copy /Y "$(TargetDir)$(ProjectName).dll" "C:'SomePath"